Clear filter
Question
Sergey Kamenev · Apr 30, 2019
I follow the instruction on docker site.I have next troubles:After changing password fom "SYS" to my pass I see on screen non removable "USER>". Standart commands "exit" and "quit" are not worked. Next actions is possible only in new terminal window.I need some extra tool in container. Where I try install (by example "apt-get install mc") I get "E: Package 'mc' has no installation candidate". I don't understand why standart ubuntu package manager do not work in Iris container. 1. My steps:
docker exec -it my-iris iris session IRIS
Log in with these predefined credentials:
Node: 8a6940088a16, Instance: IRIS
Username: _SYSTEM
Password: SYS
For security, these credentials (and the other predefined accounts) are immediately expired the first time you use them, and you are required to change the password.After changing password I see non-removable and non-breakable "USER>"2. I found decision of this problem.After this "apt-get update" it's possible install other packages. 1. To exit the IRIS session use the command halt 2. And yes, for most container activity, it is best to do an apt-get update && apt-get install inside your containers, which will make sure it has the latest packages/repositories available. @Douglas.Foster if you're going to get the HALT info added to the Docker Hub page, maybe also clean up the debris I've highlighted below: What do you expect instead of "USER>", it is a session prompt, where you should put your commands. At this point, for me, it looks expectable. we'll add the USER> prompt and a link to the Terminal doc to these instructions, and get rid of the extraneous word. 1. What you did, to get it. Please add all your steps, so we can find what you did wrong.2. IRIS container changed nothing what comes from base Ubuntu image. If you can install mc there it should be possible on IRIS as well. But I don't see any reasons, why mc should be available inside the container. And why you need it there? Sergey,The prompt you see with USER> is an IRIS terminal prompt. To get a bash session you will need to run something like
docker exec -it my-iris bash
Package mc has no installation candidate because apt-get update hasn't been run since we built the image. Run
apt-get update && apt-get install mc
and you'll be fine. :)
Announcement
Anastasia Dyubaylo · Jun 19, 2019
Hi Community!
Please welcome a new video on InterSystems Developers YouTube Channel:
InterSystems IRIS - Power of the Platform
Interoperability, a fast database, analytics, and rapid development have always been hallmarks of InterSystems technology, now all brought together in InterSystems IRIS Data Platform. This video highlights the stories of several customers from Russia and Latin America who are building solutions based on a combination of features provided by InterSystems IRIS.
Takeaway: You can reap benefits from using InterSystems IRIS, even if you don't use its new features.Presenter: @joe.gallant, Senior Sales Engineer, InterSystems
And...
Additional materials to the video you can find in this InterSystems Online Learning Course.
Don't forget to subscribe to our InterSystems Developers YouTube Channel.
Enjoy and stay tuned!
Announcement
Evgeny Shvarov · Jun 19, 2019
Hi Community!We have a new release of InterSystems Open Exchange applications gallery!What's new?Companies catalogBetter descriptionsApplication PreviewSee the details below.Companies catalogAs you already know you are able to introduce a Company profile and publish apps on behalf of a company. In this release, we introduced a catalog of companies presented on Open Exchange. Please, add your companies and get more traffic to your company sites and applications!Better descriptionsWe have two descriptions for the app.A short description is mandatory and is being used to display on app tile and to be displayed if you don't have a long description.With this release, a short description may be imported from Github repo linked to the app.Long description now supports markdown - so formatting, links, images are welcome!If your app is connected to a Github repo long description can be loaded from Github readme.md. This behavior could be altered by a special flag now.PreviewYes! We introduced the feature to preview the app before sending it for approval. Finally )Social Network SharesWe've introduced a set of social media buttons to let your application be shared easier on social networks and to let some extra traffic too. Also, check what else was fixed and introduced with the release in the kanban.Here are our plans for the next month! Report the issues and provide enhancement requests here!Stay tuned and submit your InterSystems IRIS solutions, tools and companies!
Announcement
Dmitry Maslennikov · Jan 14, 2019
I'm pleased to announce the latest version of the renewed for ObjectScript, which is now available with a lot of new features.
This new extension is a fork of previously developed extension in different repository originally started by @Oleg.Dmitrovich9110.
You can find a new repository here.
So, what's new:
Better syntax highlighting which supports classes and routines.
Intellisense for commands with documentation.
Intellisense for system functions and variables, also with some documentation
Hover documentation with the link to online documentation, for system functions, variables and commands
Go to symbol (⌘+Shift+O, Ctrl+Shift+O) supports classes for all class members and routines for labels. You can also you Outline view to navigate by code
Server Explorer, you can open any file from a server in a read-only mode
View Others (⌘+Shift+V, Ctrl+Shift+V)
Go To Definition (⌘+Click, Ctrl+Click, F12)
macOS with TouchBar support, added two buttons, Import with compile and View Others
Fill free to fill any issues or enhancement requests here. Of course, you can also send pull-requests. Be aware, this is an open-source project and developed for free.
I'm going to improve this extension, I have many ideas what to do next, but as fast as I will have time for it. But if you would like to support, you are very welcome.
I hope you will find this extension very useful and would like to hear any of your feedback. Dmitry, congrats!This is a huge step forward! But I'm looking for Open Exchange entry too ;) Hi, Excellent extension ! My personal preference VSCode over Eclipse Atelier. Just one thing. Anyone is editing CSP files using VSCode? How do you deal with syntax highlight for CSP ? CSP not supported, yet. Fill issue. And I will add support later Thanks Dmitry ! Done I'm going to be in Antwerp next month. If you want to see a live demonstration, I can do it for you. I already have some more features, to show. Sound very nice!! Thanks @Dimitry Maslennikov I'll used it and let you know I see that so many people already installed this plugin. I hope many of you already tried it in action and have some thoughts about how it can be improved. Please fill issues about any troubles you found and any new features you would like to see. I want to make this tool useful for everybody, not only for me, I need your opinion. You did a great job!!!I was using the old version for a while, and this new improvements help me a lot..Thanks very much New cool update came up with VSCode!What's new in this versionIMPORTANT: Connection disabled by default, now. Set "objectscript.conn.active": true to enable itAutomatically Preview XML files as UDL, (disabled by default, setting objectscript.autoPreviewXML)Preview XML As UDL by command from Command Palette and from Context MenuFixed highlighting for XData with css in style tagShow percent-member in outlineMulti-root workspace supported now, for different connectionsMulti-root workspace also for server explorerGo to definition now goes to real file if such presented, or opens from the serverBasic syntax highlighting for CSP files, only as HTMLAdded some snippets for classGo to Subclass for the current class, available in command paletteGo to Super class for the current class, available in command paletteGo To any class/method in the workspace including server (by Cmd+T/Ctrl+T)some small fixes in the highlighting, and selecting words/variablesIntellisense. Show list of methods for ##class(SomeClass)Go to macros definitionGo to definition for methods and properties for self object like ..Name, ..SomeMethod()Added completion for class parametersExport without storageWell done, Dmitry! Like the clickable InterSystems Data Platforms tags in the repo:@Dmitry.Maslennikov , could you share, please, the code to be inserted into Reaadme.md to introduce it into the repo? You can find them in the source of README
[](https://www.intersystems.com/products/intersystems-iris/)
[](https://www.intersystems.com/products/cache/)
[](https://www.intersystems.com/products/ensemble/)
Hi Dmitry!So the new release on VSCode on Open Exchange.It says - there is a debugger now.How to introduce a breakpoint? Yes, debugging finally here. Extended release notes with details how use all new features will be published here this week. Stay tuned. Dmitriy, this is awesome and thank you for your work on this!
I've looked through the issues and the discussion and I don't think I've seen anyone post feedback about password security. Thought I'd discuss here before posting it as an 'issue'.
In our org, we can develop locally, sure, but usually we are developing in a low level development namespace on the server, thus we are usually connecting to the server. In our org our username and password happen to also be the same credentials for our Windows login, network, everything really.
Are there ways to avoid hard coding the password in the extension settings? Or is this a feature that can be developed?
That said, it seems you have to specify the namespace in the settings as well. Is there a faster way to toggle between namespaces?
Thank you!
Mike Mike, thanks for the feedback.
Questions about passwords were raised privately. But mostly about secure storage. Your case very different, and even maybe better way, to have SSO instead of storing passwords. It will need some research, but I'm sure it will be possible to implement it. As a company CaretDev, I would like to offer commercial support to your company. So, it will be easier to find time to implement any features, you would like to have.
About toggle between namespaces. I don't know why do you need it, and how you going to use it. The main point of VSCode is sources stored locally, when you will toggle namespace, how you going to keep namespaces correctly updated?
Or you can use a server-side editing feature. You can create file myapp.code-workspace in the root of your project, press button Open workspace. And you will have connection to USER and %SYS namespaces as well, so, just add more isfs URLs with ns=NAMESPACE.
{
"folders": [
{
"name": "myapp",
"path": ".",
},
{
"uri": "isfs://myapp",
"name": "server",
},
{
"uri": "isfs://myapp?ns=USER",
"name": "user",
},
{
"uri": "isfs://myapp?ns=%SYS",
"name": "system",
}
],
"settings": {
"files.exclude": {},
"objectscript.conn": {
"active": true,
"username": "_system",
"password": "SYS",
"ns": "MYAPP",
"port": 52773,
},
"objectscript.serverSideEditing": true
}
}
Announcement
Anastasia Dyubaylo · Nov 29, 2018
Hi Community!
We are pleased to invite you to the Moscow InterSystems Developer Community Meetup on 11th of December!
InterSystems Moscow Meetup is a pre-New Year meeting for users and developers on InterSystems technologies. Meetup will be devoted to the new InterSystems IRIS Data Platform.
Date: December 11, 2018
Time: 19:00-22:00
Place: Aviator Loft, Stoleshnikov Lane 6, building 3, Moscow
Don't forget to join Moscow Meetup Group.
Register for free and save your seat today!
Article
Nikolay Solovyev · Feb 19, 2019
1. BlockchainAs I am writing this article, Bitcoin costs less than one-fifth of what it used to be at the pinnacle of its success. So when I start telling someone about my blockchain experience, the first thing I hear is undisguised skepticism: "who needs this blockchain stuff now anyway?"That's right, the blockchain hype has waned. However, the technologies it is based on are here to stay and will continue being used in particular areas.The Internet in general offer tons of materials describing the general usage of these technologies (for example on medium and forbes).As we know, a blockchain is a distributed registry, i.e. a database distributed between several nodes with each node storing a full copy of the registry. The key feature of a blockchain is that records (transactions) form blocks and blocks form a chain of blocks. A blockchain supports append operations only. It means that it's almost impossible to make changes to transactions already saved in the blockchain.There are countless blockchain tutorials online (if you've never heard about blockchain, you can start with this simple video).When blockchain was on a roll, there were multiple calls to use the technology literally everywhere. However, there are certain distinct characteristics of projects/tasks where blockchain may be required.First of all, there have to be many players/users writing a lot of data that must be consistent and trusted.Then, there is not supposed to be a third party that everybody trusts.There has to be a mechanism for public data validation.If all of these criteria are met, it may be a good idea to consider using a blockchain.Such tasks can be found in any industry. The www.101blockchains.com project aggregates information about potential and existing blockchain projects, as well as the nuances of using blockchain technology in various industries.For example, blockchain can be used for the following tasks in the healthcare domain:for safe remote management of patient records;for combating counterfeit drugs through unchangeable transactions across the supply chain;for improving the monitoring and effectiveness of clinical trials by ruling out the possibility of fraud and tampering with data.The corporate segment typically uses a special type of blockchain called Private Permissioned Blockchain. Such networks have a special set of nodes for verifying transactions.However, while developing the first InterSystems IRIS blockchain adapter, we chose Ethereum, a type of blockchain that belongs to the Permissionless Blockchain category - an open platform without a single control center. The decision was based on the popularity of this blockchain engine and a sufficiently mature infrastructure with lots of tools and libraries. Note that you can also create a private blockchain using Ethereum tools.2. AdapterLet's actually go back to the adapter.An adapter in InterSystems IRIS (just like in Ensemble) is a class or package of InterSystems IRIS classes allowing you to interact with an external system. InterSystems IRIS adapters are divided into inbound (for receiving data from an external system when the external system is the initiator of the interaction) and outbound (for working with an external system when InterSystems IRIS is the initiator of the interaction).The IRIS Ethereum adapter is an outbound adapter and is slightly different from most other InterSystems IRIS adapters. This adapter also includes a small NodeJS module. The architecture is shown in Figure 1.Figure 1.The NodeJS module of the adapter uses existing NodeJS libraries for working with Ethereum.The adapter allows you to do the following:Deploy a smart contract to Ethereum (we have plans for another article covering smart contracts, development tools, and an example).Call smart contract methods: those that change the state of the blockchain and those that don'tSave transactions (transfer funds from one wallet to another)Call additional methods to get the status of the blockchainLog all requests (done by the NodeJS module, comes in handy for debugging)The adapter comes with the source codes on OpenExchange.3. A simple exampleThe adapter is supplied with a "Hello world" example.To start working with Ethereum (and running this example), you will need the following:Choose the network that you are going to be working with. Test networks like Ropsten are typically used for development purposesCreate a wallet in this network and make a deposit to itInstall a local Ethereum client (e. g. Geth) or get a key for working with a cloud provider (e. g. Infura)You need to set the following while configuring a business operation (figure 2):The server and the port that the NodeJS module is working on (port 3000 is used by default)Provider settings (access to Infura in this case)Access credentials (specify your wallet number as user name and your private key as password. InterSystems IRIS stores access credentials in a separate database that you have to enable encryption for)Figure 2.In order to work with smart contracts, you will need to create (for each smart contract you will work with) a folder in your file system and place two files there:*abi.txt*bytecode.txtThese files should contain the ABI of the smart contract and its Bytecode. A smart contract's ABI is a formal description of its interface in the JSON format. ABI and Bytecode are created when the smart contract is compiled.Bytecode is only required for deploying the contract.You can use InterSystems IRIS Interoperability testing service to test business operations.Figure 3 illustrates how a smart contract is deployed using the testing service. The result of calling this business operation is a message containing the hash of the transaction.Figure 3.You can find this transaction using the ropsten.etherscan.io (https://etherscan.io/) browser and get the address of the deployed smart contract.To call the methods of the smart contract using the adapter, you need to fill out the following fields in the production configuration: ContractFolder and ContractAddress.The execution code for the smart contract is pretty simple:
set ..ContractABI = [].%FromJSON(..ContractFolder_"abi.txt")
set contract = ..Adapter.GetContract(##class(Ethereum.Address).%New(..ContractAddress),..ContractABI)
set result = contract.hello()
set pResponse = ##class(Ens.StringContainer).%New(result.args)
Pass the address of the smart contract and the ABI to the GetContract method of the adapter to create a smart contract object that you will then use for calling methods. In this case, a hello() method returning a string must be defined in the smart contract.
In this example, the hello() method does not change the blockchain status, so it can be called synchronously. However, the execution time of methods that change the state of the blockchain can be quite long (due to having to wait for transactions to be verified).
To call such methods, use the deferred response mechanism offered by InterSystems IRIS. The adapter will have to submit a deferred response token and when a transaction is approved, the NodeJS module will pass the result of its execution to InterSystems IRIS. To do that, you will need to configure a web application and add an extra business service to the production that will process the received response.
Here is the code for calling a method that alters the blockchain state:
// getting EthereumAccount(wallet) and privateKey
do ##class(Ens.Config.Credentials).GetCredentialsObj(.cred, "Ethereum.Demo.EthereumOperation", "Ens.Config.Credentials", ..Credentials)
set account = ##class(Ethereum.Address).%New(cred.Username)
set privateKey = cred.Password
//reading contract ABI
set ..ContractABI = [].%FromJSON(..ContractFolder_"abi.txt")
// get contract object
set contract = ..Adapter.GetContract(##class(Ethereum.Address).%New(..ContractAddress),..ContractABI)
$$$ThrowOnError(..DeferResponse(.deferred))
// estimate gas
do contract.SetOptions(account)
set gasJSON = contract.EstimateGas("setName",pRequest.Name)
$$$TRACE(gasJSON.gas)
do contract.SetOptions(account, privateKey, ##class(Ethereum.Wei).%New(1000000000), ##class(Ethereum.Wei).%New(100*gasJSON.gas),,deferred)
set result = contract.setName(pRequest.Name)
In this case, prior to calling the setName() method of the smart contract, you will need to specify a number of parameters, including the deferred response token.
In our next article, we will elaborate on smart contracts and provide an example of solving a practical problem using the InterSystems IRIS Ethereum adapter.
Nice job guys, looks great!I've noticed you multiply estimated gas by 100 - why do you need this? Gas estimations calculated by providers can be inaccurate but they're always equal or higher than the actual gas price.Can't wait to see your next article and the example you provide. In our case, we've implement recurring billing in Ethereum blockchain. If you're curious, you are welcome to read my article about recurring billing in blockchain or even try how this works. Hi Nikita!Don't know about the gas spending details, @Nikolay.Soloviev will tell you more, but I'm curious on recurring billing - very interesting! Do you have this concept working already somewhere? Could you share a demo? Thanks Evgeny. I don't have a demo but you can find all the sufficient documentation and a smart contracts address within the link provided. We have a working smart contract and you can see some historical billing transactions there. Nikita thank you for feedback.You are absolutely right about "multiply estimated gas by 100" - there is no need to do it.
Announcement
Jeff Fried · Mar 20, 2019
The 2019.1 version of InterSystems IRIS Data Platform is now Generally Available!Kits and container images are available via the WRC download site The build number for these releases is 2019.1.0.510.0.InterSystems IRIS Data Platform 2019.1 provides the following new capabilities:Performance and scalability. The release features new performance improvements for parallel queries and data ingestion resulting in more than 50 percent performance improvement, and expanded sharding support with simpler rebalancing across nodes.Expanded cloud support. InterSystems IRIS is now available in the marketplaces of all three major public cloud platforms, with standard licensing as well as a new free Community Edition for development and an Express Edition for small production applications. The release also supports asynchronous mirroring and availability zones to enable disaster recovery in the cloud.Integration. The latest release further expands the product’s schema, transformation, routing, and testing capabilities, supporting integration and service aggregation as a key enabler of digital transformation initiatives.Enhanced language support. 2019.1 adds to the existing comprehensive development capabilities with functional and performance enhancements to the Java, Python, and C# development languages.These are detailed in the documentation for InterSystems IRIS. You can also watch a short video introducing the InterSystems IRIS 2019.1 release.Server platform support for traditional installations has been updated, as have the base OS layer and storage drivers for IRIS containers. This release also adds support for Ubuntu 18.04 and Windows Server 2019 operating systems. You can see read details in the Supported Platforms document.With 2019.1, InterSystems IRIS now officially supports self-service BI tools using ODBC connections, specifically Tableau and PowerBI. Jeff, thank you for the great news!When could we expect IRIS 2019 Release Community Edition available on cloud marketplaces? The cloud marketplace listings are being updated as we speak; the time required is dependent on the cloud platform's process but all listings should be using this release by the end of this week.
Announcement
Anastasia Dyubaylo · Mar 27, 2019
Hi Community!
Please welcome a new video on InterSystems Developers YouTube Channel:
Getting Sharded with InterSystems IRIS
You can go from zero to hero as you support growing user and data volumes with InterSystems IRIS. We will give an overview of sharding at system architecture and application levels.
Takeaway: Sharding can enable my applications to scale horizontally and keep up with increasing user and data volumes.Presenter: @Iain.Bray
And...
Additional materials to the video you can find in this InterSystems Online Learning Course.
Don't forget to subscribe our InterSystems Developers YouTube Channel.
Enjoy and stay tuned! nice
Article
David E Nelson · Apr 5, 2019
Now that the InterSystems IRIS Data Platform Community Edition is available on Docker Hub (https://hub.docker.com/_/intersystems-iris-data-platform), it seems like a great time to try InterSystems IRIS in a container. For some time already, the community edition has been available in the cloud, for example on AWS (https://community.intersystems.com/post/free-iris-community-edition-aws), but maybe it would be nice to try it locally as well. Fellow Windows users are no doubt used to eye rolling, being told “YMMV”, etc., whenever they mention using Docker for Windows. Sometimes we are even told that we should really consider running Docker inside Ubuntu virtual machines. Ugh
Now Docker and Windows, especially when using Linux-based containers (the only kind supported by InterSystems IRIS), are not an ideal match. For more on why this is so, see: https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/linux-containers). Nevertheless, with some patience, a thirst for adventure, and a couple of extra steps it seems to be possible to run InterSystems IRIS in a Docker container on Windows. This configuration, while emphatically not supported for production, seems to work well enough to try out many InterSystems IRIS features. For example, I have created namespaces and databases, loaded data, created productions, and even executed some SPARK queries.
In the following, I will list the steps that I took to launch the InterSystems IRIS Data Platform Community Edition. I will show both a Docker command-line approach as well as the more convenient compose file approach. Fair warning: I am no Docker expert and we are talking about Docker for Windows here, so YMMV. ;-)
Setup
Windows 10 Pro
Docker Desktop Community Edition, Version 0.0.3 (31259) Channel: stable, available here: https://hub.docker.com/editions/community/docker-ce-desktop-windows
Some Docker Configuration
I changed the “bip” on my Daemon settings to prevent network conflicts.
I set my C:\ drive as a shared drive. This will allow the container to access files on C:\
Digression on Named Volumes and Bind Mounts
Containers are ephemeral. We start them. We stop them. We delete them. Often, however, we would like data generated and used by the container to persist. Docker provides two approaches for persisted container data: volumes and bind mounts. InterSystems IRIS containers include the durable %SYS feature for data generated and used by the data platform. On Docker for Windows, durable %SYS must use a Docker volume. When using Docker on other operating systems, for example Docker for the Mac or Docker for Ubuntu, durable %SYS can use either a bind mount or a volume.
Volumes are entirely managed by Docker. Unlike bind mounts, they do not correspond directly to any file or directory on the file system. We must use Docker commands to create, delete, and inspect them. The fact that we cannot tune or use advanced products and tools to manage the data in Docker volumes, is a big drawback for using Docker on Windows. Clearly, it is not a production environment.
Creating a Named Volume
My next step was to create a named volume at the Windows command prompt:
C:\>docker volume create durable
To see the details for this volume I used the docker volume inspect command. When I want to delete it, I will use the docker volume rm command.
Launching the Container
At last, I was ready to launch the container. Here is the docker run command:
C:\>docker run –it –d –p 51773:51773 –p 52773:52773 –-name iris –-volume durable:/durable –-env ISC_DATA_DIRECTORY=/durable/irissys store/intersystems/iris:2019.1.0.510.0-community
A little about the options passed to the run command:
Option
Description
it
Roughly, means run in interactive mode and provide access via a terminal
d
Means run in detached mode
p
Maps ports inside the container to ports outside the container on the host. We will use these ports from Windows to access InterSystems IRIS. Note that if you have IRIS installed locally, it is likely using ports 51773 and 52773 and you will get port conflict if you try to map these ports
volume
Maps the named volume created above to a directory inside the container.
env
Sets environment variables. In this case we are setting the location of the durable %SYS to be our durable directory inside the container.
I verified that all was well with the container using the following command:
C:\>docker container ls
It listed all the running containers on my system. The first time I ran the command, it listed my iris container’s status as “starting”. When I ran it again after a little time had passed, it listed the container’s status as “healthy”.
Accessing InterSystems IRIS
With my container running and healthy, the next step was to access the data platform. I did this first by launching the Management Portal using the usual url: http://localhost:52773/csp/sys/UtilHome.csp
The page asked for a username/password. I entered SuperUser/SYS and then I was directed to a password change page. I then had full access to the Management Portal.
Next, I tried out command line access. To do this, I first launched a bash shell inside the container by entering the following command in the Windows command prompt:
C:\>docker exec –it iris bash
This opened the bash shell. From the bash shell, I opened an IRIS terminal session with the following:
>iris session iris
I logged in using the username/password set above.
Stopping the Container
Finally, to stop the container I entered the following at the Windows command prompt:
C:\>docker container stop iris
Switching to Compose
Using the Docker run command with all those options to type is a bit tedious. Fortunately, Docker supports placing the options into a compose file and then launching a container using docker-compose commands to read the options from the file and to launch the container appropriately.
To use this approach, first create a Windows directory. I created a directory called iris_community. Note that the name of the directory becomes the name of the Docker project. Inside iris_community, I created another directory called local. My compose file will create a bind mount using this directory and I can use it to pass data and code between my Windows file system and my container. I then placed my compose file, named docker-compose.yml inside iris_community. So, the directory structure looks like this
iris_community
local
docker-compose.yml
Here is the contents of my docker-compose.yml. Hopefully, the comments are enough to explain what it is doing.
version: '3.2'
services:
iris:
image: store/intersystems/iris:2019.1.0.510.0-community
container_name: iris-community
ports:
# 51773 is the superserver default port
- "51773:51773"
# 52773 is the webserver/management portal port
- "52773:52773"
volumes:
# Maps directory in containr, named durable, to named volume defined below
- durable:/durable
# Mounts a local directory for passing in files and test scripts
- ./local:/Samples/local
environment:
# Uses ISC_DATA_DIRECTORY to place the durable %SYS in the named volume
- ISC_DATA_DIRECTORY=/durable/irissys
# Creates the named docker volume
volumes:
durable:
Launching with docker-compose
To launch the container, I opened a Windows command prompt in my iris_community directory and entered the following:
C:\iris_community>docker-compose up
This time I did not set the detach option, so I see a stream of output from docker. Note that the named volume created in this case will be iris_community_durable so it will not conflict with the earlier volume.
To stop the container, I use the following command:
C:\iris_community>docker-compose down
Good article!Please post docker-compose definition as a text.There's a code formatting style too Thanks Eduard. Good idea to use the formatted text. Done. I am trying to launch the container from my Windows 10 running the command:C:\>docker run –it –d –p 53773:53773 –p 54773:54773 –-name iris –-volume durable:/durable –-env ISC_DATA_DIRECTORY=/durable/irissys store/intersystems/iris:2019.1.0.510.0-communityI've modified the ports to avoid problems. But I am getting the following error:Have I missed anything?Thank you in advance! Docker for windows allows switching between Linux containers and native Windows containers; if you want to use Linux containers (i.e. IRIS), make sure you enabled that modeSee this section in the documentation. That was!Thank you for your help and great article!
Announcement
Anastasia Dyubaylo · Jun 26, 2019
Hi Everyone!New session recording from Global Summit 2018 is available on InterSystems Developers YouTube Channel:InterSystems IRIS Reference Architectures The InterSystems IRIS Data Platform offers great flexibility in building scalable systems that meet your applications requirements in the most efficient fashion. In this video, we'll outline some hypothetical system architectures for various use cases, and you'll learn that flexibility doesn't necessarily have to mean complexity.Takeaway: InterSystems IRIS can help me build a comprehensive, homogeneous solution.Presenters: @Benjamin.DeBoe Additional materials to the video you can find in this InterSystems Online Learning Course.Enjoy watching the video!
Question
Vineeth Jagannathan · Jul 11, 2017
If the session is in inactive state for some time. It should be logging out automatically. Is there any settings for that?? On %CSP.Session /// Specifies the timeout value for the session in seconds./// <P>If no user requests are received within the specified time period, /// then the session will end. The default value comes from the CSP application/// setting for the application that the session starts in which is set in the/// Cache configuration manager, this is often 900 seconds or 15 minutes./// Note that if you start a session in one applicaiton and move to another application/// the AppTimeout will not be changed to the new applications timeout value, if you wish/// to modify this when the application changes you can use the session events 'OnApplicationChange'/// method./// <P>For no timeout, set this property to 0.Property AppTimeout As %Integer [ InitialExpression = 900 ];You can also specify the timeout for your App as a whole: <your server ip:57772>/csp/sys/sec/%25CSP.UI.Portal.Applications.Web.zen?PID=%2Fcsp%2Fuser I have done the setting but it is not logging out. I am getting this below error. Even i tried keep alive disabled in CSP Gateway. Even though it is not working. What exactly did you do?
Quote from doc:By default, the session timeout is to 900 seconds (15 minutes). You can change this default for a CSP application in the Management Portal; [Home] > [Security] > [Web Applications] page. Select the application and click Edit.
Note that if a session changes CSP applications during its life span, its timeout value will not be updated according to the default timeout defined in the application that the session moved into. For example, if a session starts out in CSP Application A, with a default timeout of 900 seconds, and then moves into CSP Application B, which has a default timeout of 1800 seconds, the session will still timeout after 900 seconds.Check these points.
Still see the page parameter AUTOLOGOUT. Exactly these are the settings for Auto Logout. This is working now after a fix from Intersystem Vineeth, please help the community by accepting the answer that helped you. The animation in this article shows you how to do that. Session TimeoutFind:Session Termination and Cleanup
Session Timeout
Session Timeout for CSP Gateway I have done the setting but it is not logging out. I am getting this below error. Even i tried keep alive disabled in CSP Gateway. Even though it is not working.
Announcement
Anastasia Dyubaylo · Oct 26, 2017
Hi, Community!
Please find a new session recording from Global Summit 2017:
An InterSystems Guide to the Data Galaxy
This video shows how to understand the concept of an open analytics platform for the enterprise.
@Benjamin.Deboe tells how InterSystems technology pairs up with industry standards and open-source technology to provide a solid platform for analytics.
You can also see the additional resources here.
Don't forget to subscribe to the InterSystems Developers YouTube Channel
Enjoy!
Article
David Loveluck · Nov 8, 2017
Application Performance MonitoringTools in InterSystems technologyBack in August in preparation for Global Summit I published a brief explanation of Application Performance Management (APM). To follow up on that I have written and will be publishing over the coming weeks a series of articles on APM.One major element of APM is the construction of a historic record of application activity, performance and resource usage. Crucially for APM the measurement starts with the application and what users are doing with the application. By relating everything to business activity you can focus on improving the level of service provided to users and value to the line business that is ultimately paying for the application.Ideally an application includes instrumentation that reports on activity in business terms, such as ‘display the operating theater floor plan’ or ‘register student for course’ and give the count, the response time and resources used for each on an hourly or daily basis. However many applications don’t have this capability and you have to make do with the closest approximation you can.There are many tools (some expensive, some open source) available to monitor applications, ranging from java script injection for monitoring user experience to middleware and network probes for measuring application communication. The articles will focus on the tools that are available within InterSystems products. I will describe how I have used these tools to manage the performance of applications and improve customer experiences.The tools described include:CSP Page StatisticsSQL Query StatisticsEnsemble Activity MonitorEven if you do have good application instrumentation, additional system monitoring can provide valuable insights and help you and I will include an explanation of how to configure and use:Caché History MonitorI will also expanded my earlier explanation of APM, the reasons for monitoring performance and the different audiences you are trying to help with the information you gather. added a link to 'Using the Cache History Monitor'
Announcement
Anastasia Dyubaylo · Oct 16, 2017
Hi, Community!We've launched Facebook Page for InterSystems Developer Community!Follow to be in touch what happens on InterSystems Developer Community. Here you can find useful articles, answers,announcements, hot discussions, best practices based on: InterSystems IRIS, Caché, Ensemble, DeepSee and iKnow.The permalink to join DC Facebook Page can be found also on the right of every DC page:Follow us now to be in the know and don`t forget to like the page!
Announcement
Michelle Spisak · Oct 17, 2017
Learning Services Live Webinars are back!
At this year’s Global Summit, InterSystems debuted InterSystems IRIS Data Platform™, a single, comprehensive product that provides capabilities spanning data management, interoperability, transaction processing, and analytics. InterSystems IRIS sets a new level of performance for the rapid development and deployment of data-rich and mission-critical applications. Now is your chance to learn more!
Joe Lichtenberg, Director of Product and Industry Marketing for InterSystems, presents "Introducing InterSystems IRIS Data Platform", a high-level description of the business drivers and capabilities behind InterSystems IRIS.
Webinar recording available now! Webinar recording is available!