go to post Dmitry Maslennikov · Jan 31, 2019 first of all, you have to check docker logs iristest2 And while you trying to use durable %SYS, you look at IRIS log /nfs/IRIS/iconfig/mgr/message.log. And as Jim already noticed, you have double dash when defining the variable ICM_SENTINEL_DIR
go to post Dmitry Maslennikov · Jan 31, 2019 Sorry for everybody who wanted to see my demo there, unfortunately, I can't go, because of some issues with getting a visa.
go to post Dmitry Maslennikov · Jan 30, 2019 If you can edit this code, you can try change to this. <Data name="DESCRIP_2"> <RetrievalCode> S {DESCRIP_2}=$P($G(^PHPROP({L1},"DESC_CODES")),"\",2) S {DESCRIP_2}=$S($L({DESCRIP_2}):$Get(^SEDMIHP($P({DESCRIP_2},","),$P({DESCRIP_2},",",2))),1:{DESCRIP_2}) S {DESCRIP_2}=$E({DESCRIP_2},1,80) </RetrievalCode> </Data> But not sure, if this correct. What I did there, is, wrapped retrieving data from global ^SEDMIHP with the function $Get() Or this way, with the default value <Data name="DESCRIP_2"> <RetrievalCode> S {DESCRIP_2}=$P($G(^PHPROP({L1},"DESC_CODES")),"\",2) S {DESCRIP_2}=$S($L({DESCRIP_2}):$Get(^SEDMIHP($P({DESCRIP_2},","),$P({DESCRIP_2},",",2)),{DESCRIP_2}),1:{DESCRIP_2}) S {DESCRIP_2}=$E({DESCRIP_2},1,80) </RetrievalCode> </Data>
go to post Dmitry Maslennikov · Jan 28, 2019 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.
go to post Dmitry Maslennikov · Jan 27, 2019 Well, such an interesting topic, and also quite wide.Ok, TWAIN, is an API for image sources, it can be scanner or photo camera. You just asking about working with TWAIN, without any explanation of how you are going to use it and what sort of devices you going to utilize.So, I'll just share some of my experience. How I've used only scanners, different types and with different workflows.Server way. One or more stream document scanner (sorry don't know right term in English). Just any scanner which can work in network and configured to place all scans to some network folder or send my emails. Before sending some documents to this scanner, the operator should stick some barcode, on the title page, or on added empty first page. On the server side, we have used ABBYY Recognition Server, which just watches some folder, and can decode barcode and recognize text in the document, pack it in XML and place it in another folder. This folder was watched by Ensemble, where we searched for barcode in our system and placed this as an attachment to this document. With recognized text, we also are able to search documents in our system by the content of this document.Client way. The operator working with a personal scanner connected right to his machine. While our application web-based and the server is far from this scanner, we used only client resources to scan images. We used java-applet which worked directly with TWAIN sources, so operator just called some functionality right from our application after finishing the scan, it has appeared as an attachment in the document. But this case now has some issues due to limitations for JAVA plugins in modern browsers. But it is now possible to find some modern solutions which may help to get access to twain on modern browsers, you can just google it.
go to post Dmitry Maslennikov · Jan 25, 2019 CACHE.DAT or IRIS.DAT, can only grow during normal work. But you can shrink it manually. But it is not as easy as it maybe sounds. And depends on version which you use, only past few versions were added with the compact tool. On very old versions you have to copy data from old database to thew new one.You can read my articles, about internal structure of CACHE.DAT, just to know what is this inside. And about database with visualization, where you can see how to compact database, and how it actually works.
go to post Dmitry Maslennikov · Jan 24, 2019 Sounds quite strange, why do you need to parse the connection? DbVisualizer works through JDBC, but there you limited only with SQL. If you would write own application which will work over JDBC, you will get more options. But JDBC is just only one option for remote access. You can find more options in the documentation, in different languages.
go to post Dmitry Maslennikov · Jan 24, 2019 It would be more productive, if would give more details about what you want to achieve, and which connection in use already.
go to post Dmitry Maslennikov · Jan 24, 2019 Right, but it is possible to call some of your written code through remote connection options, how to do it, depends on a chosen way
go to post Dmitry Maslennikov · Jan 23, 2019 SSO, can be achieved in some different ways. It can work over OAuth2, NTLM, Kerberos, SAML and so on. In different projects, I have used Kerberos/NTLM and OAuth2. But real SSO was only with Kerberos. And when you already have LDAP Auth in your application, it will be quite easy to add SSO. But also depends on which OS and which WEB server you have. On Windows much easier to start with IIS while so difficult to find a working module for Apache. On Linux there is also could be a problem to find the latest version of the module which will work with the latest version of apache. But when you will manage to get it worked on web-server side, on Caché side, almost nothing to do left. When you get first unauthorized request, you should return back with status 401, and say which method of authentication you need through header WWW-Authenticate: NTLM. Then if web server managed to get username, it will send it by header REMOTE_USER. Of course, you will not get password, you just use this username and authorize session.
go to post Dmitry Maslennikov · Jan 23, 2019 If your server on windows, you have two connection options. Terminal. Available only locally, and can use windows security. Enabled by default.Telnet. Used to connect from outside. Disabled by default (you can activate this service in SMP.). After enabling, you can connect using terminal or any other tool by default port 22.If your server on Linux. You have only one option is csession or irissession tool which works only locally to the server. For remote access you should use ssh or telnet. But you can't configure telnet from Cache. You should do it by yourself.
go to post Dmitry Maslennikov · Jan 22, 2019 How Caché works with licenses, actually very interesting and sometimes quite difficult to understand, but it is possible to find a balance for everybody. Fortunately, at the same time, it has actually some tricks on how to turn it on your side.The first important thing is every time when user login, you should log in the user not only in security but license as well. In this case, if the user uses the same IP address will be used the license unit.In your case, I'm not even sure about forcing log out, do you really need it? You mentioned that your application still web, and does not matter is at wrapped as an application or opened right from the browser. You should have the same behaviour. So, you can reduce timeout for the session, add some timer which will ping the server from time to time when app is active to extend session time. Sessions on the server side also have a grace period after a timeout which is 5 minutes long, in most cases enough to return back from the call.
go to post Dmitry Maslennikov · Jan 22, 2019 Glad to see thew newest version, great work.Hope to see some details about community and expression editions. Unfortunately, both of these versions did not work well for me as I expected, so, I would like to see how they differ from the original version and about limitations.
go to post Dmitry Maslennikov · Jan 21, 2019 Hi, unfortunately, there are no ready solutions and mostly because NTLM auth is not so easy to implement, even in other languages. If it is possible, better to find another mechanism.
go to post Dmitry Maslennikov · Jan 21, 2019 Well,this add-in url is/isc/studio/templates/%25ZEN.Template.AddInWizard.SOAPWizard.cls?Namespace=USERBut when you redirect with Redirect directive, your query part dissapear. And it opens with default namespace %SYS.To solve it you should use mod_rewrite instead with RewriteCond and RewriteRule directives. I don't give you any examples, just don't have a good place to check it. But I think I can find it.
go to post Dmitry Maslennikov · Jan 20, 2019 Usually, the problem which you can face with SSL, is, how to trust self-signed certificate. In your case looks like, you have one server for development, and everybody connects to this one server. And in this case, there are two ways to make this SSL trusted,if you have a domain name which publicly available, from the internet. Internal servers should not be available from outside, just only one server, where you can generate certificate with Let'sEncrypt. And you can make wildcard certificate as well. you don't have such domain name, and don't have access from outside. So, you should have own certificate server, and make by yourself. I think this way is a bit harder.For local instances, when you need SSL only on your machine for yourself, you can use the mkcert tool and any subdomain from localtest.me (which goes to localhost) for example.
go to post Dmitry Maslennikov · Jan 17, 2019 I have not planned any special, just wanted to see how it will be on place.
go to post Dmitry Maslennikov · Jan 16, 2019 I'm going to be there, too, and I have something to show for you. I can demonstrate VSCode extension for InterSystems ObjectScript. And I can show how to build and deploy with Kubernetes.
go to post Dmitry Maslennikov · Jan 16, 2019 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.