Hi Anna,

this would iterate through a file line by line checking if the line contains a keyword and then outputting the line. also it will continue outputting until another condition resets the found variable to 0.

    Set stream=##class(%FileCharacterStream).%New()
    Set stream.Filename="c:\myfile.txt"
    set keyword="MyTestWord"
    set found=0
    While 'stream.AtEnd {
        Set line=stream.ReadLine()
        if (line [ keyword) {
            // the line contains the keyword out put line
            w !,line
            set found=1
            continue
        }
        if (found=1) {
            // keyword was previously found so continue outputting line
            w !,line
        }
    }

Hi,

This sounds like a misconfiguration on the webgateway.

PWG get configured automatically by IRIS for all web applications. Not sure if this happens for the external webgateway.

There also could be an issue with webgateway integration into external apache.

Also worth to check audit database in IRIS. To see if any errors get logged.

Hope this helps.

Best Regards

Timo

Hi,

using zf will always be difficult as IRIS is not running a root. You will need to configure the OS to allow privilege escalation for the irisusr, which open quite a big door.

Or allow irisusr to start/stop httpd, which might be the safer way.

The other options is, if this is only about the application via webgateway contacting the correct primary.

1. set web gateways to be mirror aware

2. configure a VIP address in the mirror and point the cspgateways to this ip address.

So just looking at your SQL,. You got 2 parameters in your where clause.

Select IDName from MSDS_Common.ComponentSub

 Where 

    (is null or %UPPER(Component)[%UPPER(?))

    and Active=1

If the first dropdown is null this will always be true if Active is 1

Try changing the where clause to

 Where 

    (is null AND ( %UPPER(Component)[%UPPER(?))

    and Active=1

This will check if first parameter is empty and if subcomponent contains the second parameter and if its active.

as an alternative you could use to standard traceroute 

 traceroute -n -T -m 5 -q 1 -p 80 hostname.local

-p portnumber

-T use TCP syn for connects

-m max TTL to test

If it succeeds it will return all IPs if the IP is not reachable it will only report *.
If the port is blocked it will return somethink like

 1  192.168.1.198  0.411 ms !X

Where !X means admin prohibited.

Hi,

if you make some assumptions

1. numbers are always enclosed in curved brackets

2. you want to always return string starting with REASON

this could be as easy as just:

set mystring="REASON->Blood(1.23)"

w "REASON"_$extract(mystring,$find(mystring,"(")-1,*)

or if you really want to use regex:

IRISHEALTH:USER>set mystring="REASON->Blood(1.23)"
IRISHEALTH:USER>set regex=##class(%Regex.Matcher).%New("^([A-Z]*)->.*(\([0-9]*.[0-9]*\))",mystring)
IRISHEALTH:USER>zw regex.Locate()                                               1
IRISHEALTH:USER>zw regex.Group(1)
"REASON"
 IRISHEALTH:USER>zw regex.Group(2)
"(1.23)"

Hi, you can use Studio to export all your application into one xml file. This XML file can be imported by anyone.

Requirements though are that the user of this application needs an IRIS version installed and licensed (might also be the community edition) .

You don't need an IDE to deploy an application (XML package) into IRIS. you just need access to either terminal or System Management  Pages or short SMP (management web ui) there you can import the code and compile it so your application is available.

Also for application deployment you might want to look at an installer manifest that can do additional configuration that might be required like web application creation, security, database, namespace and global mapping creation etc.

Hi Mack,

there are a couple of ways to move the installation across.

One very simple way is by ,as already has been mentioned, shutting down cache and then copy the cache.dat files across for example using ftp.

Another way is using the build-in backup utility to take a backup and restore the backup on your new system,. this does not require a shutdown of cache on either side.

Also make sure you grep a copy of the original cache.cpf file as this contains all the database,namespace and mapping information.

You can easily enough modify the new cache.cpf file accordingly (although this requires then a cache restart to activate the changes).

Cheers