Mark Charlton · Feb 22, 2017 go to post

I've read this post 4 times now and gone through my account settings and I'm damned if I can figure out what I can do to stop these email notifications coming thorough. Please can you advise which "technical reasons" mean that on the front page I have 2 categories 

http://prntscr.com/ec23ln

and in actual categories I have nothing, yet am still receiving many notifications

http://prntscr.com/ec248n

Thanks

Mark

(p.s. preview on this comment came up with a server error http://prntscr.com/ec255t)

Mark Charlton · Oct 11, 2019 go to post

Hey Kyle, 

You're a font of useful knowledge, another great nugget of info. I just wish there was a way to default the terminal colours so that I could see instantly which server I'm on, or even if its just production, testing or dev. 

I use a chrome plugin called URLColors that puts a colour wash over the page for my Management Portals so that I can see really clearly which server I'm operating on. If it has a red hue then I need to be careful, if it's green then I'm fine to play! 

Cheers for another great time and especially for sharing it, (although I've gone for 1,8,2 ;] )

Mark Charlton · Oct 19, 2022 go to post

Looks like I really need to put some time into VS Code now and start letting studio take a break :) 

Mark Charlton · Oct 20, 2022 go to post

That explains a lot. I had wondered if I was going mad or not. Glad I'm not, although I hadn't realised it wasn't a supported ability in the first place. 

Mark Charlton · Nov 23, 2022 go to post

I assume there is a way to install a private local ZPM repository if you want or need to keep your code internally.

Mark Charlton · Nov 23, 2022 go to post

Is there any way to have multiple registries enabled at the same time in ZPM, with a priority so that it looks at them in order to find packages. That way you can use public packages from the community repo without having to have them imported/duplicated into your local repo.  Or is the only way to keep switching between repos if you want to source from different places. 

Mark Charlton · Dec 5, 2022 go to post

Hum, so now the question is how does the ObjectScript quality scanner work?
I don't have a login and the help docs don't (help)... 
Then I need a learn docker, 
Then I need to install Git. 
I get the impression that its easier just to not win ;) 

Mark Charlton · Dec 5, 2022 go to post

If you're looking for a song with instructions you could try  Cha Cha Slide by DJ Casper.  Although I can't help you on how to do the charlie brown. 
https://g.co/kgs/JdWTca
[...]
Everybody clap your handsClap, clap, clap, clap your handsClap, clap, clap, clap your handsAlright now, we're going to do the basic step

To the leftTake it back now, y'allOne hop this timeRight foot, let's stompLeft foot, let's stompCha cha real smooth
[...]

Mark Charlton · Dec 6, 2022 go to post

OK thanks.

That sounds a bit more manageable. I'll take a look if I get time :)  I have the git hub account already so I'm 20% there...

Mark Charlton · Dec 9, 2022 go to post

OK, so I tried that to see how it works and if I could figure it out... it didn't go so well. 
I mean I have a GitHub with actions running, code is loaded in as cls files, but apparently none of my code is code to the quality scanner and my other actions fail. Does anyone have the time to give me a few pointers as to where to look next please. 

Mark Charlton · Dec 13, 2022 go to post

Yes, but if you look at the code tab it says there are 0 lines of code in the project... 

Mark Charlton · Dec 22, 2022 go to post

So the $64,000,000 (or more like $6,000) question is, does the current state of the quality checker stand for our submissions or do we need to go back and change all the classes to get it to work and qualify :) 
A moot point for me in the back seats but more so for Kevin.

Mark Charlton · Dec 22, 2022 go to post

I just changed one of my classes (Day1) from abstract to  Extends %RegisteredObject and committed to Git.
The action ran, the code change shows on the code view of Code Quality.  
The file shows a count of lines of code, yet the overall view still shows no code. 

Mark Charlton · Dec 26, 2022 go to post

My repo is linked above, but here it is again, although I'm way out of contention for any cool commmunity badges :) 
https://github.com/mcwebtree/WIT-AOC2022

and this is empty but green, (https://community.objectscriptquality.com/dashboard?id=intersystems_iri…), so I think this years CPD may be on encoding algorithms and how VS Code, GitHub and Docker work with objectscript... Might then have a better chance next year :D

Thanks for the motivation towards all the hair pulling, googling, screaming at monkeys, and don't get me started on the elephants...

Merry Christmas all and have a great New Year. 

Mark Charlton · Dec 28, 2022 go to post

Hi Robert

Thanks for the help and guidance. I've missed the window now as I've been away from the office, (a crazy idea I know). I'll take a look at the repo you've setup and see if I can figure out what I was doing wrong when I'm back online. 

Regards

Mark Charlton · Jan 20, 2023 go to post

So currently I have iris installs with PWS as we all do, and I've configured IIS for https access to the management portal, but I'd like to see how the installer would setup IIS. Is the IIS configuration part of the setup agent going to be available to run outside the installer so that I could run it against a prior version of Iris and see how the IIS setup is configured? 

Additionally if I want to remove the PWS from an install after having configured IIS, is that supported for prior versions than 2023? Assuming the testing, upgrade release cycle internally is such that upgrading to 2023 isn't an option yet. 
Would that be answered in the future documentation mentioned here? 
"Once a customer has migrated off the private web server, they'll need to remove it manually.  (Add link to future documentation)"

Mark Charlton · Jan 21, 2023 go to post

From very painful experience linking access to cache can be a very difficult proposition. In theory it's simple, an odbc link from access can read data fine from cache. However if you want to write anything back or perform updates of any kind it gets very finicky.

We ended up writing sql stored procedures in cache and calling them from access for any data modifications. So the linked odbc tables were only used for read only access.

Also be aware of large integer numbers, which need the bigint data type in access to display properly, which was only introduced in access 2019.

Mark Charlton · Jan 25, 2023 go to post

Hi 

I know those are available, but I need to be able to access the data within those routines within objectscript.  I want to be able to pull out the current status of each member of a mirror set from one member of that mirror set. From those docs, this is the data I want access to, but in a way I can access, check and report upon via scheduled scripts/reports so that if a mirror member goes offline I can pick it up from the primary say and email out a notification.  If there is a way to do that with those utilities I can't see them from the documentation. 

Member Name+Type            Status     Journal Transfer  Dejournaling
--------------------------  ---------  ----------------  --------------
MIR25FEB_A
     Failover               Primary    N/A               N/A
MIR25FEB_B
     Failover               Backup     Active            Caught up
MIR25FEB_C
     Disaster Recovery      Connected  Caught up         Caught up
MIR25FEB_D
     Read-Only Reporting    Connected  Caught up         Caught up
Mark Charlton · Jan 26, 2023 go to post

Just thought, I had a lot more success easily accessing CACHE ODBC tables via WinSQL. 
The Lite version is free, and you'd just need that and the ODBC drivers and you'd have a simple way to access the data. 

Mark Charlton · Feb 8, 2023 go to post

I'm loving the examples, however I'm a little confused by the last running total.  Either I'm misunderstanding what it's trying to do or its not doing what I think it should.

The ACC_EXPENSES column seems to be only taking the first value for a given date and adding it into the running total instead of all the values for a given date. In the below image the date 1/1/23 has 3 rows, 300, 230 & 330, which total 860 as seen in the TOTAL_EXPENSES column. 

The ACC_EXPENSES value for 1/2/23 should be the sum of 1/1/23, (860) and the sum of 1/2/23, (880), but instead its showing 730, which is the sum of the 2 rows I've highlighted above. 

Mark Charlton · Feb 13, 2023 go to post

Have you tried just creating a new folder with the dat file in, and then going to add a new db and pointing it at the same folder that you added the dat file? It should then pick up and use the existing dat file for the new db. 

Mark Charlton · Feb 18, 2023 go to post

Thanks Robert. 

I understand that the value is being treated as numeric.  I couldn't get my head around how "8009 " matches "800999 " because the space should invalidate the match, but I've just realised that that space is a lower ascii value than the numerics and alpha characters. 

I don't understand your suggestion about using $QSUBSCRIPT, could you possibly provide a line of code to show how you're suggesting it would give me a range end. 

Mark Charlton · Feb 19, 2023 go to post

Thanks Robert

I still don't see how that addresses my question, but I understand what you're suggesting now. 
You're giving it the last value of the search, and you're also still looping through the entire global.  The first I don't have unless I calculate it and the second is what I'm trying to avoid.

I think my solution may lie in forcing the numeric search prefix into a string and going from there.  I'll have to go back and play. As is the oft the case, writing it all down to explain it has clarified a few things for me :)

Mark Charlton · Feb 24, 2023 go to post

Hi David 

You're right, there are no numeric values in the global, all values are suffixed with a space. The issue occurs when the actual value of the search string is numeric, (i.e. the prefix you're searching for has no alpha characters in, regardless of the state of the matching value in the global).

The code I had worked fine for any non numeric search strings but not with fully numeric ones. The logical solution would seem to be to add the space onto the search string to convert it to a string and then run the search, however that doesn't return the data expected. 

I think I need to take all the suggestions above and go away and play with another version of the search function, possibly combining a numeric and string search function to get the complete matching data set. 

Thanks for the suggestions. 

Mark Charlton · Feb 24, 2023 go to post

Hi Stuart

Thanks for the ideas. I think the key is to force the comparison to a string search, because the numeric search gets a bit hairy, but I'll have to go away and play with a few ideas and the real data and see what comes out in the wash. 

Mark Charlton · Mar 9, 2023 go to post

Thanks Timo

The codebase of this system is over 30 years old. They came up with suffixing as their solution and its used in a lot of places. As much as I can see prefixing as a better solution overall, there is no way to make that happen. So I'm stuck battling with what I've got. I've a few ideas now on where / how to approach a new search function for this class of data set, but no shining silver bullet. 

Mark Charlton · Mar 13, 2023 go to post

I have been working on this recently and tried the links in this and other questions, but in the end settled for using Chrome.  It was easier, quicker and less moving parts as Chrome was already on the servers. 

/// "C:\Program Files\Google\Chrome\Application\chrome.exe" --headless --disable-gpu --print-to-pdf="E:\Data\Spooler\2022-07\DN560241_14a.pdf" "E:\Data\Spooler\2022-07\DN560241_14.htm"
strExePath=..getChrome()  // This function just handles the fact some machines put chrome in program files, others in program files (x86)
s1=$ZF(-100,"/LOGCMD /NOQUOTE /STDOUT+=e:\logs\H2POUT.log /STDERR+=e:\logs\H2Perr.log",strExePath,"--headless --disable-gpu --print-to-pdf-no-header --print-to-pdf="""_strPDFPath_""" """_strHTMLPath_"""")// For some weird reason this flags as an error when it completes, no idea why, but its not valid.
//w "S1: "_s1,!!
//I $$$ISERR(s1) Q $SYSTEM.Status.GetErrorText(s1)
##class(%File).Exists(strPDFPath)
"1*"_strPDFPath 
ELSE 
"0*Error Occurred" }