Kevin Furze · Nov 16, 2020 go to post

as a small side note to Vic Sun's reply, there is also a note in that same 2018.1.4 upgrade notes that says

( my username already has admin rights but just another thing to think of )

"If you select Minimal for your initial security setting, but Caché requires network access to shared drives and printers, you must manually change the Windows user account under which to run the Caché service, choosing an existing account or creating a new account that has local administrator privileges on the server machine."
Kevin Furze · Nov 16, 2020 go to post

looking at the docs quickly, this seems to be in the upgrade notes from 2018.1.3 moving to 2018.1.4

I'm currently still on 2017.2.1 so I'm not sure it applies to me yet??

late this afternoon ( 1hour ago), we got a bit further by dropping any shares under ".\kevin" then shutting down the live instance of cache,  before recreating some shares and getting prompted for the password of the remote machine, Once we got this bit working, and restarting Cache, the background cache->remote machine started working again.

we are still busy testing this, but perhaps there was some corruption in remembering the share name/password and re-setting the password has done something.

Still not sure if it's totally working and it will be overnight before the checking is complete.

thanks to all those folk who offered solutions, it's certainly had us puzzled for a while. 

kev

Kevin Furze · Nov 15, 2020 go to post

Yes it's run on the live server (where I'm having problems) with the local account "kevin" - in theory, the same as the cache.exe service

Kevin Furze · Nov 15, 2020 go to post

Eduard.

logging in as the current user within terminal is exactly what I thought was happening, but in this case, I have the Cache.exe service logging in as  ".\kevin" and I've logged in as the user "kevin" so in theory, the background and terminal should be returning the same access rights and so returning the same results but it doesn't.

kev.

Kevin Furze · Nov 15, 2020 go to post

Julius,

when I run the commands in order you suggest, I get

Start Port: 49152
No of Ports : 16384

less than 6 pages when I look for the actual in use ports

and when I try to find the "bad guys", there's none.

the stats have been taken within 10 minutes of a reboot, and still I can't access the background network shares.

I'm guessing this isn't the problem.

Kevin Furze · Jan 15, 2020 go to post

that was fast, just 13 minutes for an answer,  nice one

I'll test it tomorrow, but in the mean time, looks like I'll accept this as the answer

Kevin Furze · Jan 9, 2020 go to post

system currently in use so I can't immediately test. I get full access in 10 hours time.

in the mean time, a 5 minute test failed in the same way as did a 30 minute and the 24hour test. Nothing created the html files in all cases.

what's confusing here is that the log file happily go created, but the html file failed.

in each case, there was only ever one single log file which contains the commands that will be executed, no other log files were created  at any time

strangely enough, the ^Buttons file did create the html file from exactly the same window terminal that we've just run the three test of ^pButtons

Kevin Furze · Sep 16, 2019 go to post

Evgeny.

I've played with the links, much better, thumbs up, one thing, and it may be my imagination.

if you open a link (new tab or otherwise), it seems to jump part way down the article.

could you tweak it, so that it opens at the top of the new page please.

subtle, but would help

kev

Kevin Furze · Jan 18, 2019 go to post

Eduard.

Thanks for the answer,

where do you store the unique salt ? in a macro ? I need this so that I can automatically log into the email server as a single user to send the email as though they sent it.

it's got to be stored somewhere

Kevin Furze · Jan 18, 2019 go to post

I want to make it clear (from the title) that I have just "plain Cache@ ie not ensemble, iris etc. My intention is to use encryption and only store encrypted values,  never ever plain text

Kevin Furze · Jan 16, 2019 go to post

no, no.

just 2-300 users, each with a few passwords. I just want to be able to store the safely, use them within objectScript and then look them up to see what the actual password was so that I can reset their devices etc when they c one in for repair/upgrades etc.

kev

Kevin Furze · Jan 9, 2019 go to post

Can you tell me if all the figures stated are those that Intersystems created/monitered/collated from their own installations of the alternative databases or are the figures collated and verified by an external 3rd party company?

forgive me but its easy to slant figures based upon marketing requirements.

kevin

Kevin Furze · Oct 4, 2018 go to post

we had this problem, the issue was "frozen queries"

look at frozen queries in the docs, and then from in the SQL portal, you can "un-freeze" them and remove cached queries

Kevin Furze · Sep 20, 2018 go to post

Thanks John.

Although unique string is indeed generated ( for instance 1328BACC-D8A5-46C7-BACC-19634E0F83A2 ), its not a very memorable directory name and so, in my head, I'd dismissed the instanceGUID.

I would need to keep track of which machine/instance "1328BACC-D8A5-46C7-BACC-19634E0F83A2" is being generated to instantly know the content. of any given folder.

kev

Kevin Furze · Sep 20, 2018 go to post

Robert, I think there's a mistake in the 5rh line whereby variable "p" is undefined.

s ping="ping 10.10.12."_p

the thing about this code is that you have to know the first part of the IPaddress you are pinging, and thats part of what I want to automate

kevin

Kevin Furze · Sep 20, 2018 go to post

Julius,

hadn't thought of multiple network cards, and of multiple ip address's.

your last bit of two-line code  has forced me think again. I'm assuming the ip address would be from the actual network address that the call to the server is made from. so I would be putting, what should be "common" files into two separate directories if use the ipAddress.

many thanks.

Kevin Furze · Apr 13, 2018 go to post

I apologise,

I am so used to using #define, I totally missed the #def1arg

so, now I change it to this, It works fine.I hadn't come across this #def1arg before.
Its an interesting use and I can think of quite a few ways already where I can create more macros to make use of it.

thanks

kevin

Kevin Furze · Apr 13, 2018 go to post

that doesn't seem to work Eduard.

here's my macro (according to you)

#define testEmptyParams(%args)    i $listfind($listbuild("%args"),"")>0 $$$quitMissingParams
here's the call

    $$$testEmptyParams(ExtID,UserID,originalVehicleID,newVehicleID,reasonID)
 

when I compile that, I get

"Too many arguments to macro: 'testEmptyParams'"

I've tried removing the quotes inside the macro and it still says too many arguments.

so I want to do a nested $lb, and then quit with another macro $$$quitMissingParams.

because I'm testing for empty parameters, I never know how many params I want to pass in.

example

s a="1",b="2" i $listfind($listbuild(a,b),"")>0 w " - missing"

s a="",b="2" i $listfind($listbuild(a,b),"")>0 w " - missing"

s a="",b="2",c=3 i $listfind($listbuild(a,b,c),"")>0 w " - missing"

s a="1",b="2",c=3 i $listfind($listbuild(a,b,c),"")>0 w " - missing"

Am I missing something ?

Kevin Furze · Mar 19, 2018 go to post

remember that my "bry" code was in addition to the code that already exists, so my settings now read "cukbry"

kevin

Kevin Furze · Mar 16, 2018 go to post

Rob.

so, I'm assuming this is on section 20 (and others) of your QEWDjs training material whereby the global's contains the structure you want in JSON. and then using DocumentNode to get at the data inside javascript

a couple of questions, 

  • In Cache, we would normally use $J in the global to keep it unique to the user, but we're using worker processes, so how do we keep the equivalent of $j in QEWDjs ? (I'm going to be using JWT's if that makes any difference)
  • if I have synchronous API's happening at the same time (say 5 workers running), I'm assuming that we somehow need to keep track of what global node belongs to which API, so is it the "worker process ID" we use? - is it that simple?
  • if we do the equivalent of the $J, how do you clear down  (everything) ? in EWD, you kept session values, and when the session died/expired, then the sessions were cleared. I know that we should use the  DocumentNode object's delete() method, but is there any catch-all if anything happens

kev

Kevin Furze · Mar 16, 2018 go to post

Peter,

Thanks

like everything else, until I come across something that doesn't convert, I'll start with this version

Kevin Furze · Mar 16, 2018 go to post

Sean,

thanks for the updates and clues

I'm about to update to the very latest cache this weekend, and have had a special Cache build that allows us to use NodeJS version 8.

There's lots of existing  cache classes to do the fetching, filing as we had an old concept that uses simple CSV files to an external third party server, but now it's all coming in house (with associated short timescales of course) and I now need to hook into all these new realtime restAPI's to do the work.

I've been using EWD since it's first incarnation, and the new QEWDjs just makes life easy.

I'd be interested in the new upgrade when it becomes available, any idea of the timeline ??

most grateful,

Kevin

Kevin Furze · Mar 16, 2018 go to post

Many thanks, I'll play over the weekend and make sure its a 100% test together with Eduard's answer.