Neerav Verma · Jun 13, 2018 go to post

I do not know the answer to above but would like to add that authentication would be over HTTPS not HTTP

Neerav Verma · Sep 15, 2018 go to post

The creation of Namespaces, databases, mappings, roles, cspapps etc needs to be done only via the Mgmt Portal

The issue you are facing is clearly of rights. 

Start from the scratch by using %All rights to your namespaces, db, apps etc

Try to not use a different db for routines for starters 

Neerav Verma · Sep 17, 2018 go to post

Hey

Its really hard to gather any flow or re-use. 

Did you made any operation that uses Ens.PubSubRouting?

Neerav Verma · Sep 19, 2018 go to post

This is a bug in Sql import & export from Intersystems. There is a quick fix to it. You can call them and ask for it.

Neerav Verma · Sep 19, 2018 go to post

I don't think Business Rules are meant to do the looping. They are more for higher level logic and conditions.

For more inner level Transformations and BP's should be used as they have an inbuilt functionality of loops for the same reason

Just my 2 cents.

Neerav Verma · Sep 19, 2018 go to post

set io="c:\temp\test.pdf"
open io:("nw")
use io write tRequest.HttpResponse.Data.Read()
close io

I am creating a pdf file from a http request. Obviously you can change all these 

Neerav Verma · Sep 28, 2018 go to post

To put pure methods in abstract or not purely depends if it can be overridden.

 I have never been sure what ProcedureBlock 0 or 1 means in terms of internal procedures. Can you pls put some light on it?

Neerav Verma · Sep 28, 2018 go to post

There is a little modification now what I want to do 

Basicallly I want to read the Event Log (Ens_Util.Log) where type is not in INfo , trace etc

and on every new warning, error etc . send the error msg to my BP - (Which is the pubsub bp)

Is there any service which continously polls for new additions to this log besides the Sql inbound adapter?

Neerav Verma · Oct 24, 2018 go to post

Example I made aims to make a resusable / generic pub-sub model which is passing a generic json message from start to finish and all bp/bo etc then need to transform / parse as per their own need once they receive the json.  Do let me know if any queries


So this is how the flow works . 
1. Service 
a. Read a csv file, loop through all records
b. In each loop make one json msg and add it to the json array of messages (which is nothing but just an array of text as json is just text)
Property RequestJSONArray As array Of %Text(MAXLEN = 10000);
Property Topic As %String(MAXLEN = 100);
c. End of loop 
Send the array to the BP
This is few lines of code of Service
Class File.BS.FileServiceBS Extends Ens.BusinessService
{
Parameter ADAPTER = "EnsLib.File.InboundAdapter";
Method OnProcessInput(
pInput As %FileCharacterStream,
pOutput As %RegisteredObject) As %Status
{
   set DELIMITER = "^"
   set counter=1 //records read
   set JSONDynamicBPRequest = ##class(Ent.Library.JSON.BP.JSONDynamicBPRequest).%New()
   set JSONDynamicBPRequest.Topic = "TESTCSV"
while 'pInput.AtEnd {
   while counter < 3 {
    set line=pInput.ReadLine()
    if ( counter > 1 ) {
    set req = ##class(%DynamicObject).%New()
     set req.ClaimId  = $piece(line,DELIMITER,1)
     set req.Company  = $piece(line,DELIMITER,2)
set req.ClaimProvider  = $piece(line,DELIMITER,3)
set req.PrimaryInsuranceCarrier  = $piece(line,DELIMITER,4)
set req.EncounterDate  = $piece(line,DELIMITER,5)
$$$TRACE("req.%ToJSON() "_req.%ToJSON())
do JSONDynamicBPRequest.RequestJSONArray.SetAt(req.%ToJSON(), counter)
     req
    
    }    
    set counter=counter+1
  }  
  do ..SendRequestSync("JSONDynamicBP",JSONDynamicBPRequest)     
  $$$TRACE("JSONDynamicBP loaded : " _ (counter - 1)_" "_$ZDATETIME($ZTIMESTAMP,3,1,6))
  Quit $$$OK
}
}

Neerav Verma · Oct 24, 2018 go to post


Step 2 : BP
a. Bp gets the topic and json array of json records
b. It calls the PubsubBo to get all the subscribers for this topic
c. It loops through json records
d. for each records. loops through the targets 
e. Sends the message to target via the Call activity of the BP

PFA : Screenshot of subscribers to a topic 
Note :  This can be moulded as per the requirement. Each json msg can have a topic instead of the topic being outside of array etc.
You can use your own messages instead of json too if you need.
You can even send messages via the pubsub bo instead of just getting targets. (version attached)
I mean all sorts of adjustments can be made as this is very generic and re-usable
Link to the Code
Download Code
Any issues pls email me nv@nv-enterprises.biz

Neerav Verma · Dec 3, 2018 go to post

if you are thinking about a custom ui. obviously you can 

the monitor has barely 4 to 5 portlets . I am sure that can be extended / enhanced to be replicated in the custom ui.

haven't tried it but doesn't seem like too much to ask

Neerav Verma · Dec 3, 2018 go to post

Ok I thought its about just one property. If it's a more generic problem then you should define your own String class extending %Library.String. Here you can not only have the cache params but even your own params related to sda3.

This also can be done for all datatypes if you do need. 

Neerav Verma · Jan 4, 2019 go to post

There is no code. Only Settings

1. Port needs to be 465

Need to add a TLS/SSL setting to the system admin and use that in the setting of the operation

2. Need to generate smtp credentials on AWS and that needs to be set in ensemble and used

3.  Need to verify the emails that is sending and receiving.

Neerav Verma · Feb 4, 2019 go to post

Thanks Samuel

Yes this does work if we use it as a direct URL on browser.
Just a small change that when we pass it through Zen it has to be slightly different & has to be &amp; 

..dashboard&amp;SETTINGS=FILTER:[ACCOUNT].[H1].[ACCOUNT].%26[1]&amp;NOTITLE=1

Neerav Verma · Feb 4, 2019 go to post

As long as you are calling the BO (Operation) from the BP (Process) via Call Activity. It should show.

Now it may be possible you are calling the BO in some other way.

Some code snippet could help

Neerav Verma · Feb 4, 2019 go to post

Yup Exactly

It also gives you option to choose all dependent classes so you don't miss any

You can Select Or Unselect the desired ones too

Neerav Verma · Mar 5, 2019 go to post

Thanx Joel

Can you please elaborate point 1 a bit may be by a small example

Neerav Verma · Mar 5, 2019 go to post

The user you are using to run apache / cache. Do they have rights to the file

Neerav Verma · Apr 8, 2019 go to post

What a lovely discussion.

Btw if you ever looking for a new teammate, would love to join you as One on adhoc 

Neerav Verma · Apr 23, 2019 go to post

Learning python & ml

Would love to get some hands on  a live / good test project 

Do let me know if you can help on that