batch transcripts

This commit is contained in:
2026-03-24 20:47:49 +11:00
parent 6b3a2e739a
commit 9ec1517274
62 changed files with 3828662 additions and 0 deletions

View File

@@ -0,0 +1,810 @@
# Transcript: 932608789
# URL: https://vimeo.com/932608789
# Duration: 3859s (64.3 min)
[0:02] MFT architect assisting on the product team.
[0:05] With that being said,
[0:07] so for anyone that is here for the first time, as Jeff mentioned, this is an info it is a question answer session.
[0:14] So you unmute yourself, ask a question. I already have two in the chat, so that's what we'll start with.
[0:20] If we're talking on a topic you are interested in, just chime in. If you're doing something similar, if you have a follow-up question, the idea is to talk.
[0:29] Another thing is that as you noticed,
[0:32] it's in a different time compared to what we usually do. We're experimenting at the moment.
[0:37] So for a while, you'll be seeing both meetings at the regular time and at this later slot, and we had a matching earlier slot one late last week for the East Coast and Europe.
[0:48] So after the meeting ends, if you have
[0:52] to tell us something about the timing and do you think it was a good time, and what time would you rather this meeting be? Just let us know. We're trying to find the best time for everyone.
[1:02] With that being said,
[1:04] let's kick it off. And as I said, I already have questions in the chat. If someone
[1:09] so if you cannot unmute yourself for whatever reason, feel free to just put it in chat, but I would much rather talk to you. And chances are I'll still ask follow-up questions. So just typing, usually, doesn't. Not yet.
[1:21] But if needed, we can work with that. So with that being said, let's start with Nay and the question. We have a set of file extensions that are not allowed into ST. However,
[1:32] if they zip a file and send it over and unzip and deliver it out.
[1:36] So
[1:37] the x the
[1:39] older
[1:40] all
[1:41] the restrictions we have for
[1:44] files that are on the inbound side. So if they circumvent
[1:47] it by going with a ZIP file and we unzip,
[1:50] the only way
[1:52] to stop it from delivering is to make a condition
[1:56] on the sent to partner.
[1:58] Oh, I forgot to mention. I have a live server, so I'll just pop up on my server to show you what I mean.
[2:09] So in the
[2:10] template that you are sending with and it will need to be advanced routing because,
[2:16] in template or composite route, but it will need to be advanced routing because basic application don't have conditions.
[2:23] But over here, when you're doing your delivery, the sent to partner
[2:28] oops.
[2:29] I clicked on the wrong thing.
[2:34] So
[2:35] what you'll need to do is when you are adding the step, the last one, the sent partner
[2:40] or published to account, whatever you are doing after the unzip,
[2:44] you will need to either do a condition,
[2:48] which says if this is the extension, just don't deliver. So, basically, repeating the whole set of extensions that you don't want to deliver with.
[2:57] Or if,
[2:59] if you are on an older version of ST or if it is just patterns, you can also do file globin regular expression over here on the file name pattern because that's what it is based on. But one of the two will need to be enabled. ST will not protect
[3:12] delivery out based on the inbound restrictions.
[3:17] Does this make sense, Nai?
[3:25] Good morning. Yes. That does make sense. Thank you. Yeah. And it will need to be one by one, unfortunately. Right? We cannot just. There is nothing on the outbound side like we have the restrictions on the user class on the inbound.
[3:38] So So Okay. How do you,
[3:42] how do you put in a condition where I have multiple,
[3:46] file extensions in there?
[3:49] Okay.
[3:50] Back to the server. The easiest way I will do it from here, and it's a full blown expression. So you do,
[3:58] extension
[4:01] transfer dot target.
[4:07] Get you.
[4:10] Not equal
[4:13] dot
[4:14] x
[4:17] and and so on and so forth.
[4:21] Blah blah blah blah blah. So you just do it this way, or,
[4:25] you can do it if there are too many of them. And and you also can do matching and replacing. So you can grab the extension and check if it matches with
[4:33] the standard regex that has the the slashes, the
[4:38] this character. I don't know the name of it. This character between them. So there are multiple ways to do it. But this is a full blown expression,
[4:45] so you can have as many as you want. So if how many extension do you have?
[4:51] Maybe around 20 or so.
[4:54] Okay. In this case, I'll probably do,
[4:57] whoops. Sorry. I'll probably do something like this. And then,
[5:03] two lowercase
[5:05] to make sure that, you know, they don't trick you with capital letters for whatever reason.
[5:11] And then extension.
[5:14] And then
[5:16] transfer doc target unless you are inside of a trigger subscription. In this case, what you know, it will be different. But, basically, grab the extension,
[5:25] make it too lower case,
[5:28] and then matches.
[5:31] And then in the matches,
[5:34] you can do extension one.
[5:37] And remember that the extension returns the dot at the beginning.
[5:41] So you can either do a substring to remove the first character or just leave it like that. And then on the matches, you have dot e x t
[5:51] oops.
[5:51] Dot
[5:54] dot star
[5:56] dot
[5:57] exe
[5:59] or
[6:01] dot star
[6:04] dot
[6:05] bin and so on and so on and so on, and then close everything at the very end. And this will match the files that match this, and you don't want it too much, so you just put the no at the beginning. So, you know, standard way. Okay. But something like that.
[6:19] I and this will not work, obviously, exactly like it's written, but that's the idea.
[6:24] Build your regex that matches.
[6:29] Right?
[6:30] Yeah. So if I need a an uppercase, then I wanted to do another condition to go with that.
[6:37] Yes. But because those are extensions, you don't care about the case, and that then that's why I called two lowercase so that it will make the extension into lowercase. So this means that if the person uses Excel with a capital x, small x, small e, whatever, it will
[6:52] put it down, just to lowercase at the beginning. That's why I added it here to make sure that what comes from the file is to a lowercase.
[7:02] Is there a global setting at all, or does it have to be individually for all of this? I mean, every
[7:09] file that we're unzipping has to go through this.
[7:12] Yeah. For the outbound, it will need to be individually immediately after every unzip.
[7:17] Oh.
[7:19] Yep.
[7:20] Sorry. Gonna need a request to make this a global thing then.
[7:25] Yes.
[7:26] Open an idea. What you are asking for is outbound restrictions.
[7:31] Alright. Thank you. Yep. Matching the inbound. And, yes, if they upload the file, you will not even allow it. You will not process it. Right? But if it was inside of a ZIP or inside of PGP or something like that, you don't we don't know until we grab it from inside.
[7:47] So Okay. Thank you. Didi, I can see you, but I have a couple more before you.
[7:52] Okay. It's a follow-up to Oh. To this one. Go ahead. So what would the, what would the be if it's a, if there's no extension on the file?
[8:03] Oh,
[8:04] the way I would do it okay. I I should so I cannot get to the chat and, share for some reason today. So what I would do in this case
[8:13] is matches
[8:17] hold on.
[8:19] So
[8:20] let me let me clean up that a little bit so that it's easier to see. So extension transfer dot target and then matches.
[8:31] You know what I'll do? Actually, I'll do a replace instead if I'm I'm looking for a, no. So replace.
[8:39] So at the moment,
[8:41] if you have no extension, this will be just empty.
[8:45] Otherwise, it's dot something.
[8:47] So and then I will replace that with,
[8:51] actually, what I'll do? Hold on. So concat,
[8:56] a random character, it doesn't matter what character it is, and then followed by the extension.
[9:01] Right?
[9:03] So at the moment, if you look at this string
[9:07] did I close my brackets?
[9:09] One bracket. Close. Second. Yeah. So at the moment
[9:13] so this
[9:14] will either be the letter r
[9:17] or r dot something if there was an extension. Right? And then all I need to do is to see if this equal
[9:27] r
[9:29] like that.
[9:31] So if this expression here
[9:33] returned the letter r, then the extension was empty. We do have an empty.
[9:38] Technically, we do have a function that checks if a strict is empty, but it doesn't check for nulls.
[9:45] I think here using the empty will also work,
[9:49] but I'm a little old.
[9:57] Try force.
[10:01] Makes sense, CD?
[10:04] Yes. I captured that. Thank you.
[10:06] Yep. And where I so this is equal.
[10:11] You can also do standard match with an expression. You can do it in a lot of different ways. It's basically comparing two strings, and we have multiple functions for that.
[10:21] So
[10:22] but, again, also look at if you look at the documentation, there is also an empty function, and you can pass that if you don't do the concat.
[10:29] I
[10:31] from years of writing code, I'm just used to I much prefer to do it that way. Concatenate so that I force it into a string always, so I don't worry. Is it a no? Is it empty? Whatever it is.
[10:42] And then compare it. And if it returns just whatever thing I put at the beginning, that's it.
[10:48] Done. Okay? Okay. Good. Thank you.
[10:51] Good. Okay.
[10:53] Mishra Mishra.
[10:57] If that's the first or last name, I apologize. Sometimes I'm bad with that. You all we all know that if you had been here before.
[11:03] We're planning to migrate all the users' logins to its external IDP, and you don't want a big bank.
[11:09] Well, that's
[11:11] very easy to do because in the world of so your current all your users at the moment are local in ST. Right?
[11:22] Let's assume yes, unless they can unmute themselves.
[11:25] So in the world of ST,
[11:28] there is a checkbox
[11:29] on the account that says if the password is kept locally or not, and back to my server.
[11:36] So when you go to the account
[11:46] Okay. My server is being
[11:49] temperamental.
[11:51] But on the account,
[11:53] when you set up the account, there is a checkbox that says if the password is stored locally. So for any account you are ready to migrate, all you need is to go to uncheck it, which will put it on the external path.
[12:04] So when this user tries to authenticate,
[12:07] they will come in. Now there is one exception.
[12:13] Let's see.
[12:16] There is one exception
[12:18] to that rule, and this is when you say IDP, are we talking about SAML? Because if you go for SAML, the forwarder itself becomes unconditional
[12:27] because it's happening before we know who the account is.
[12:30] So if you need HTTP
[12:32] users to be able to use both
[12:35] okay. Either my VPN or my server doesn't like me at the moment. I will get it later. But
[12:40] if,
[12:42] if you have
[12:43] users
[12:44] that will if you need your HTTPS
[12:47] users to be able to go SAML or not SAML, you'll need two listeners or different ports for them because of the way the SAML forwarder works. It goes before we know who the user is.
[12:59] Make sense?
[13:04] Thanks, Chris. Yes. The character I couldn't remember the name of was Pipe.
[13:15] Okay.
[13:16] So that that was about the migration.
[13:19] It's if if you need to go the way with a double listener on the HTTP,
[13:24] it will be a different port. So one of the two groups of users will need to change the port, but it's not impossible.
[13:33] Hey.
[13:35] Okay.
[13:36] Olga,
[13:37] is it possible to have more than one email contact in the email account email field? No, unfortunately.
[13:44] The email field is one mail only. Part of it is because we're also using it for authentication
[13:50] during ad hoc operations and for fighting the users when we you use ad hoc
[13:55] or, system to user delivery.
[13:58] So it will probably never become multiple mails. However, you can use additional parameters
[14:05] on the account level or on the flow level with additional emails that then can be called in different situations, like notifications
[14:13] or whatever you need it to be in.
[14:16] If you need all the mails to the standard mail to go to multiple users, you will need to do groups on your mail server instead of ST.
[14:24] But in ST, it's one mail per user.
[14:28] Thank you, Amy.
[14:30] Yep.
[14:31] What is your use case, Algo? Or do you
[14:34] why do you need two mails
[14:37] or more?
[14:39] Just for general notification purposes?
[14:42] No. It's not general notification purpose. It's just that some of our clients
[14:47] have more than one point of contact. So
[14:50] they they wanted both those contacts to be notified.
[14:54] I tried it today. Didn't allow me to. And I
[14:58] said, okay. I'll throw it in there.
[15:01] So what I would do is leave the email in the mail field, whichever you want to leave, because this is the one they'll maybe use to reset their password, for example.
[15:11] But then
[15:21] And then inside of every of notifications,
[15:24] instead of using account.mail,
[15:26] use this variable account. User vars
[15:29] get get attribute.
[15:33] Annie, I think I'm losing you. I don't know if it's on my side. Maybe the the forum can help me
[15:39] because of I can't hear you any can you hear me? Am I audible?
[15:44] Yeah. I can hear you. I I can hear you. I think she's coming in and out for some reason. Yes. Coming in and out.
[15:53] Sorry. Can you hear me now? Yep. Yes. I can hear you now.
[16:02] Now you are gone again. Now we lost her.
[16:07] I think she's got connectivity issues.
[16:10] Let me pan.
[16:31] Kenny.
[16:39] Okay. Can you hear me now?
[16:41] Yep.
[16:42] Yes. Yep. Sorry. Yeah. Sorry about that.
[16:46] My VPN is making problems. That's why I lost the server as well. So I was just saying that, when did you lose me all, though? Because I was trying to explain how to work with multiple mails.
[16:59] Yes. It was at the point where you were talking about
[17:02] using multiple mails.
[17:07] Yep. So you basically put them in the in the additional parameter under the user VARs.
[17:14] And then when you build your templates and accounts, instead of using account dot mail, you use account dot attributes
[17:20] user VARs dot notification mails.
[17:23] That way, you still have the single mail into the email field because that's what is used for setting passwords and things like that.
[17:31] But you can send everything,
[17:33] all notifications to multiple people. And you can even do a condition,
[17:38] like
[17:42] in the field, you can check if the email is if this variable is empty, and if it is empty, then grab the email.
[17:51] And if it's not empty, use those.
[17:53] Something like that.
[17:57] Everywhere where you type account dot mail instead of type typing account dot mail, you can do account dot attributes
[18:05] user bars dot
[18:08] whatever mail you have whatever notification mails, m is empty,
[18:13] then use account
[18:15] dot mail. Otherwise, use this
[18:18] with a conditional.
[18:22] Any are you able to demonstrate that? Do you think you have time, or maybe you can pop me an email if it's okay with you?
[18:29] Yes.
[18:30] And as soon as I managed to get back on my other device I'm on my phone at the moment, just with an audio, unfortunately. I lost the VPN on the laptop, and I need that for the server.
[18:41] So if I managed to recover that in the next few minutes, I'll try to show it on the screen. If not, drop me a message, and I'll send you in the mail the expression that I'm that I'm talking about.
[18:54] Much appreciated. Straightforward.
[18:56] Yep.
[18:57] It's it's just a conditional. If you have never done those, this is the this expression with the question mark and the the column.
[19:06] So
[19:08] Much appreciated. Thank you so much. Yeah. Okay.
[19:11] Oh, okay. So let me see.
[19:15] Of course, we'll have troubles.
[19:18] At least my chat is alive, which means I still can't have the questions.
[19:23] Okay.
[19:24] So
[19:25] but back
[19:26] to where we started, single mail per account
[19:30] simply because we use it for various purposes,
[19:33] not just for
[19:35] notifications,
[19:38] resetting password and logins on ad hoc. So that's why it's a single mail over there. Okay.
[19:46] Okay.
[19:49] Why is the use case where we need both condition and file name pattern both in the route step? Why would you need both of pattern and the condition?
[19:57] The condition can do patterns as well.
[20:01] So what I I don't know if you can have both at the same time. I haven't ever tried,
[20:08] quite honestly.
[20:09] Because if I'm going to write a condition,
[20:12] I would
[20:13] always just put it over there. Any any
[20:17] file name pattern can be written as an expression.
[20:21] So if I need to go expressions, I'll just do that. I'll go file pattern only if I don't need otherwise condition.
[20:28] But it's an interesting question, so I'll go play it this afternoon on my server.
[20:39] Because I could I could not think of any use case where I would use the that. Like, condition, we never use it. If I need to use the condition, I'll probably use it at the route step itself. Right?
[20:51] You know, in the main route.
[20:53] So I always wonder because this was introduced rather recently.
[20:57] So So I mean Yeah. So,
[21:01] technically speaking, anything can you can do with the patterns can be done with the condition. We just didn't want to remove the patterns
[21:08] before.
[21:09] The the patterns is the older concept.
[21:12] So way back when we had only the patterns.
[21:15] Now that we have the condition,
[21:17] yes. Anything you can do with a pattern, you can do with the condition. But it's more readable if you do it with a pattern sometimes.
[21:26] So and there is backward compatibility to think of. So if you're asking why we didn't remove it, well, we didn't want to change everyone's routes and practices.
[21:35] Plus,
[21:36] if you're technical, writing condition is very easy. If you're you're not that technical,
[21:41] something like
[21:43] start up TXT is a lot easier than trying to figure out how to do that as an expression.
[21:48] Right?
[21:49] So that that's all this is all about.
[21:51] Okay. Thank you.
[21:54] Plus, especially
[21:55] because we're talking about so especially the globing session. So if you're doing regular expression down in your, pattern,
[22:03] then I strongly advise you to go to condition instead anyway.
[22:07] But if you're doing globing,
[22:08] globing is a lot cleaner to write sometimes and a lot easier,
[22:12] and it works differently. So if you have too many files coming from from a ZIP, for example, a globing will be faster than a regets
[22:20] simply because of the the way OS level works,
[22:23] but not by much. Not enough to make a difference.
[22:26] So for the time being,
[22:28] technically speaking, you can just stay on the conditions and just stay there.
[22:35] So
[22:36] okay.
[22:37] Chris, can you have a distribution list email if you are not using
[22:42] ad hoc?
[22:44] Yes and no. Can you put it in there? Sure.
[22:49] But if this user tries to reset their password, if we keep local passwords and we allow them to reset,
[22:55] they will need to have to be able they'll need to know which mail is there, and it's not won't be theirs. So we don't care if the mail you put in the email field is,
[23:05] individual or group
[23:07] or, you know, a forwarder that sends to everyone in your company.
[23:11] It's just what we're using it for.
[23:16] And it it doesn't even need to be unique. So we have a parameter on the server that allows even for ad hoc yeah. For for
[23:25] that allows for non ad hoc. If you don't use ad hoc, if you just do password reset,
[23:30] allows
[23:31] you to for us to ask also for the username on a password reset so that you have password you have a username
[23:39] and a mail, and then we can find the user. So it depends on the use cases. The field is always one
[23:47] mail.
[23:47] Is it a distribution list or not? It's up to you. We do have some
[23:52] I've seen a couple of accounts where they are doing exactly that. They have distribution mails in their
[23:58] exchange
[24:00] server.
[24:01] So every single mail they put in ST is actually a distribution list.
[24:05] So
[24:08] makes sense?
[24:11] Okay. I think I might have a server, so let me just check it quickly
[24:16] if it restart itself.
[24:22] Okay.
[24:23] While I'm looking at the server, what l I I'm out of questions on the chat.
[24:29] So
[24:31] or at least I don't see any more.
[24:33] Let me see.
[24:42] Yep. I don't see any more questions. So we have so
[24:46] other questions?
[25:03] No questions?
[25:07] Hey, Annie. This is Morita.
[25:11] Yep. Hey.
[25:12] Hey.
[25:14] Not sure if this is the the right forum to ask, but for the API part,
[25:20] is there,
[25:22] is there a way
[25:24] we can,
[25:26] like, if I pull the different,
[25:28] the different parts of the API, right, like, the account subscription,
[25:33] transfer sites, and routes,
[25:36] is there a specific field that I can pinpoint
[25:40] that link all these three, these types of report,
[25:45] and be able to link them together,
[25:48] like an
[25:50] like an ID or a field that that that is present on all these
[25:57] on all those reports?
[26:01] Unfortunately,
[26:02] not really. There are ideas that you can link one to the next one, but there is nothing that will give you the complete
[26:12] sequence.
[26:13] So there isn't so for example, if you have one account with three transfer sites and five routes and whatnot, there is no single ID that you will see everywhere.
[26:24] So you need to understand the structure of the database and the API in order to connect the dots. So if you have so, usually, there will be either an account ID or
[26:36] a route ID or subscription ID in the other object. And they are named properly,
[26:42] but you don't have one that is
[26:45] completely linkable all the way through.
[26:48] I see. And with that one,
[26:52] is is there, like, a documentation
[26:55] for the on how the like, a like, a metadata for the API
[27:00] data you guys have. Do you have
[27:02] an information on that one where I can pull
[27:07] to
[27:09] So the only documentation we have
[27:12] is the swagger documentation,
[27:14] as you had seen it, that doesn't really have the level that you need. There is a class. I think it's free at the so there is something in university
[27:23] team.
[27:24] And then way back when,
[27:26] back in 05/03, I wrote an article in community that was explaining how all of the objects fit together.
[27:33] It was with API
[27:35] one four and not with API two zero, but it doesn't matter, really.
[27:39] So if you look for onboarding
[27:42] for the onboarding article I wrote, it actually explains what connects to what and how.
[27:48] But
[27:50] that's that's pretty much what we have. We are working on something, but I don't know when it will be ready.
[27:55] And then if you are you coming to Denver next week?
[28:01] No. Unfortunately,
[28:02] no.
[28:05] Too bad.
[28:06] Ian
[28:07] from that, he's now on my team, but he used to be in training for a lot lot of years. But he's one of the sessions we have is start with your APIs.
[28:16] That will do something that will be basically an introduction of how to start with APIs and how the STAPIs connect to each other. I don't know if we'll be recording
[28:24] this session. I'm
[28:27] pretty sure I also have
[28:29] so look at the list of the user groups, especially the ones from a few years ago. I think
[28:34] we get an group on APIs
[28:38] where I went through the different objects and how they connect to each other. I'll need to look through the list. Yeah.
[28:45] Well, we are we are we are recording the sessions for for next week, and so we can provide that out to you afterwards
[28:53] and then
[28:54] send you send along the the the onboarding article that,
[28:59] Annie mentioned as as well as past user groups that that cover the topic.
[29:04] I would I really appreciate that. Yeah. I'm playing I'm trying to play with the with the re the ID for each of these reports, and it seems like but I am not confident. Like, there's a certain length of your IDs that kinda match with all all the reports, but I I'm I'm not confident that I am not pulling,
[29:26] an invalid information
[29:28] for each customer. So
[29:31] Yeah. Thank you. I will look into that. Yep.
[29:35] Yes. So when it shows up
[29:37] and then, we'll have this meeting over and over, and I'll put a note
[29:42] on my calendar as well. So on one of the next ask Annie's through the summer or, you know, spring summer, whatever we can, revisit again.
[29:51] And to
[29:53] if you want to bring what you already have or send me the questions beforehand, then we can look at we can go through that. Because I don't mind even bringing up the server as soon as it's back live, and we can look into it. But it's just without having things ready to show,
[30:08] we'll spend the next half of an hour of me chasing and showing you ideas while when I know what we're looking for, I can have things already opened and in place
[30:18] so that we can look to it. But,
[30:21] yeah. But the base but look at the onboarding article because it was explaining the IDs and which ones belong to what not.
[30:28] And another thing, keep in mind that those those
[30:32] IDs might look very similar, but they're basically they need to match exactly. The fact that they start with the same 10 characters means nothing. It's just how we generate them.
[30:41] They're complete they're not random random, but they're independent.
[30:45] So don't try to find the oh, this one starts with the same 10 characters, so it's something the same. Nope. They're just IDs.
[30:53] And the good news is because of how we generate IDs,
[30:57] you cannot have the same ID on different objects. So if you get the ID from a route, you will not have the same ID on that account, for example,
[31:05] or something like that.
[31:13] Alright. Thank you. I will wait for that for that information.
[31:18] Yep.
[31:19] And then, again, reach out with any questions you might have
[31:25] before that or after that, and we'll talk to it.
[31:30] Will do. Thank you.
[31:31] Okay.
[31:33] Hey. Let's see if I can share my server again. So give me a second to see if I can rejoin from this line.
[31:46] I just rebooted my laptop over here.
[31:49] Let me see if you can see my browser.
[31:55] Yay. Should be able to.
[31:57] Yes. We see it. Okay. Olga
[31:59] Olga, you're still around?
[32:01] Yes. I'm still here. I can see your screen.
[32:04] So so that's what that's your use case that I was playing with all of this field. It's very, very small. So this is where, basically, you will want to do that expression we were talking about. And what you'll do is on the account attributes, if you call the the vars user
[32:19] email or whatever,
[32:21] then I'm checking is it matching dot plus that means so matches dot plus and e d back to what we're talking about how to do empty, that's another way to check for empty.
[32:31] So dot plus means any characters at least once,
[32:34] which means that if it is an empty string, if this is not there,
[32:38] then this will fail.
[32:40] It will be false.
[32:41] But if it is an expression, it will be
[32:44] at least one. And the same thing we talked about earlier, how you check for empty. You can concat with us what's what's not. But check if this is empty.
[32:53] If it is oops.
[32:56] I'll move that to a place where you can see it better in a second. But you check if it is empty. So this will check it will respond through if it is not empty.
[33:04] And then if it is not empty, use that one. Otherwise, use the account email.
[33:08] That way, you have an account
[33:11] that
[33:12] doesn't have this expression, it will still use the account email.
[33:17] But if you always want to put it, you can do that. And let me see where I can put that so you can see it cleaner here, for example. So that's what it looks like.
[33:26] And I also can put it on chat now all the time back.
[33:30] Yes, please.
[33:34] And, again, I just wrote that. I'll I'll get the screen back in a second.
[33:38] Here it is. And, again, it might have some technical problems in this expression. You know? Some brackets might not be the correct one, so you might need to clean it up a little bit. I literally just wrote this thing from scratch. So who knows what I messed up? But if you understand the idea, it should be cleanable.
[33:56] Okay. Thank you so much. I can already see one problem. One of the brackets is wrong. But yeah. So but something like that. And the and this is, by the way, a good way to check when you have two different parameters that may or may not be holding the information. It's not just for mails. It can be for anything.
[34:14] That's the standard way to check. You check if if the one of them is empty. If it is not empty, then you put the return that one. Otherwise, you return whatever reserve value you have.
[34:24] You can do it that way or the other way around. Check for email instead of that one and so forth.
[34:30] Make sense?
[34:32] Yes. It does. Thank you so much.
[34:35] Yep. And, again, if you
[34:37] don't
[34:38] that's that's the standard way to do it. And because all of those places are expressions, that works, actually.
[34:46] Right? Mhmm. But it doesn't work for us because in our case, everything is stuck with the email itself.
[34:53] So K.
[34:54] And just just put that put the links for the for from the onboarding staff, Lorita,
[34:59] that I wrote all those years ago. So if you looked into that, it has some explanations about IDs and how you grab ID from one object to use to another, which you basically need the reversal, but it should give you an idea of what connect where.
[35:13] Oh,
[35:14] okay. Yeah. I see the I see them. Thank you.
[35:18] Yep.
[35:19] Okay.
[35:22] Okay. And I have my server back, by the way. So if we need to look at something, we
[35:28] can, at least for the time being.
[35:31] Okay. So what else do we have?
[35:35] I see one person that is happy that the meeting is late. This meeting time is working for them, so so am I. You know, I'm not the morning person either if you don't know it yet.
[35:46] So what else do we have?
[35:54] No questions? That will be a short meeting.
[36:12] No? No one has any questions?
[36:19] Jeff, you're doing okay over there? I haven't heard your voice yet. I was gonna say Jeff's been quiet so far.
[36:28] Which Jeff? Yep. You.
[36:30] You. Yes. I usually have something to say, but
[36:35] today
[36:36] today, I'm laying low.
[36:39] Laying low today.
[36:42] Okay.
[36:43] Well, it's a first on those meetings. Although, technically, it's the half meeting because I already had half of the people on
[36:50] last week on the early morning meeting. So maybe that's what's going on.
[36:56] Hey, Annie. This is the
[36:58] this is Danny with Blackhawk.
[37:00] Yeah. I I I came on just kinda I mean, I got on the meeting in time, but I got the invite
[37:06] from Ludo kinda late. So this is my first time joining me. So,
[37:13] I hope to join them more often. And then maybe I'll have some questions next time. I was I wasn't even sure
[37:18] what this was actually gonna entail or how it was gonna flow. But now that I have an idea,
[37:24] I'll, I'll work on some questions for next rounds.
[37:28] Yeah. So the rule basically is if you know the questions beforehand and you send them over what we were just talking with Maurita about, I can actually even look at something and have things prepared, but it's not a requirement.
[37:42] Okay. You can just show up and ask a question like most people do, and I see a hand up so we have another question. So yay.
[37:48] But
[37:49] it's
[37:50] basically a question and answer session, and it doesn't matter what kind of question you have. If you want to ask me about the checkbox, we'll talk about the checkbox. If you want to ask me about architecture,
[38:00] gear, whatever, that's what we talk about. About. It's Okay. Secure transport.
[38:04] Any topic goes. If I don't know the answer, if it's findable
[38:08] through the server, we'll go look.
[38:10] If it's not,
[38:11] I'll tell you I don't know, and we'll try to brainstorm. Sometimes, I don't know, but someone else on the meeting does.
[38:19] Yeah. Okay. Sounds good. I do know one of the things that we're looking at
[38:23] this year and going into next year is because we're installed on our on prem servers today, and we're looking to move to the cloud. So that's kinda where I'll be looking at, you know, as far as, you know, best practices to move up into the cloud. We'll we'll be, yeah, up into our own private cloud, but
[38:41] we got a big kinda project to move our systems up into the cloud. So that'll be one of them that we'll be focusing on here.
[38:48] So the biggest thing you need to think about is where your data is.
[38:52] As you will move, that's not the problem. If your external partners
[38:57] will move, and it will actually be easier for them, they might need to adjust their firewalls to get you to your your servers and so on, but that's not the problem.
[39:05] But Right. 99%
[39:07] of when
[39:08] cloud to ground to cloud goes wrong is when people forget about their back end applications
[39:14] because you're pulling the server out from your secure zone and you're putting it somewhere else, which means, a, you cannot do folder monitors anymore because you are not sitting in the same network anymore, so you cannot attach the servers,
[39:27] which means you need to switch to Samba,
[39:30] or you need to find a different way to get to that data.
[39:33] And b,
[39:35] all of those that used to be internal to internal connections, you might get hit waivers from security because you are back in the secure zone.
[39:43] Those will disappear on you. So if you have,
[39:46] you know, mainframe from 1973
[39:50] or something that is still doing plain FTP,
[39:52] chances of your security maligned it to go all the way to the cloud that way are
[39:57] named to none.
[40:00] Right? So that that's what you need to look at. Okay. Yeah. I I think for us, that part of it, we would probably be okay because
[40:08] we so far to date now, we've used the folder monitor really just to monitor
[40:13] the files within.
[40:15] We use a lot of folder monitors,
[40:17] and I know that the advanced route routing is a is a good way to go to handle a lot of that. So that's one of the things that we'll be looking at. But I think for us, we use for our internal systems, we use SFTP to exchange our files, you know, between
[40:31] ST and our back end platform. So when we move into the cloud, I think as long as that routing is still allowed, we'll be okay.
[40:37] And then for the external partners
[40:39] yeah. Nick, for the external partners, the idea was to use, like, the URL we have today.
[40:45] We would just you know,
[40:47] when we're testing yeah. And we have the we'll we'll be kinda looking at it as to the best way to do it kinda similar to an earlier question on, you know, phased approach per partner kinda thing or groups of partners and types or if we just do it all.
[40:59] Because we recently did a migration to new servers on on the on prem arena, so it would be similar to, I think, to the that process. It's just it would be up in the cloud. We We just have to work through all the connectivity and everything. We should be good. Yeah.
[41:12] As I said, it's usually the internal the internal transfers people forget because you're so used of them being next to you
[41:19] that you don't have security on them, you don't have firewalls on them, you don't have rules for them.
[41:25] And then you move, and it's like, yeah. You're three three level three levels away now, so someone needs to punch all of those holes now. And security is like, I cannot open all those ports for you.
[41:37] Right. And it gets stuck. So that Yeah. Yeah.
[41:41] I I do have another question if it's okay.
[41:44] Now that I'm getting the hang of this now this is working. So one of the things that
[41:49] so we have a
[41:51] our, you know, our our different daemons, because we run our
[41:54] ST, you know, on Linux
[41:57] Red Hat. And so
[41:59] up so far, we've always just used you know, we we got our our SSL certs and we you know, our HTTPS and our SSH,
[42:07] you know, and a s two are all using those, you know, SSL cert, you know, to listen for the inbound traffic that, you know, that flows in.
[42:15] And so one of the questions that came up was, and and due to the security and all the stuff that's been going on in the last few years,
[42:24] we are at a point where those certs get renewed every year,
[42:29] you know, which which is fine. And our partners are used to that. They know that, hey. You know, there's gonna be a new cert, you know, and they go through the accepting of it. You know, some systems are better than others as far as accepting that
[42:38] new cert even if it's a renewed one. But but the question I have is is
[42:44] one of the things that came up was, like, for SSH, it seems to be a little more problematic than, you know, the other protocols.
[42:51] As far as, you know, like, can we, like, create
[42:55] we can create our own SSL kind of cert to listen on. Right? Is it I mean, to so that Yeah. When we do this renew renews, we just won't be tied to that security SSL cert. Now I don't know if our security will allow that, but that was one of the things I was thinking about.
[43:08] Yes. You can and you can even talk to them talk to them and see what they will allow. So for SSH,
[43:16] what what is used with partners is the keys inside of the certificate.
[43:20] What we need for the demo is the SSL part of it,
[43:24] but it doesn't need too much. So what what you can do is to use the old private keys and then assign them again every year with a new SSL wrapper
[43:35] so that your security sees a new certificate,
[43:38] but the keys for the end users don't change.
[43:41] That doesn't work on the SSL protocols because on the SSL protocols, the whole part of it works together.
[43:48] But it works
[43:49] on SSH,
[43:51] and, support actually have a either an article or a guide somewhere about that. But that's what I see on the field.
[43:58] So you use your SSL certificate, the read the official one, you know, the one you pay for,
[44:03] or the SSL demos,
[44:06] AS two,
[44:07] HTTP,
[44:09] FTP if you have any, PSIP if you have any. And then on the SSH, you put a self signed
[44:15] certificate because
[44:17] it doesn't matter
[44:19] unless your security throws a fit about it because I've seen that as well.
[44:23] And then you just renew that
[44:26] because it's a self signed. You can keep the key and sign from outside or it can even be signed properly from outside
[44:32] as long as you extract the key and reuse it every time.
[44:35] So that for all intents and purposes for your external SSH partners, it will look like you never change your certificate or your key,
[44:44] but it still satisfies the SSL
[44:46] repudiation
[44:47] thing. So Yeah. Yeah. Yeah. I I yeah. That would definitely and that that's the that's the exchange I had with one of our
[44:55] back end folks. I was asking about that, you know, because they're because we're you know, I'm in our servers are here in California,
[45:03] and one of, you know, setups is over in Ireland, and then they were asking about that. Well, hey. Well, why don't you just use an SSH? So and I had said that we will we would have to run past security to make sure,
[45:12] you know, that you know, because there's some guidelines where we have to replace the search, you know, and now it's every year. And we were just we're we were kinda brainstorming through the best way to handle that. And I know you know? And I it looks like
[45:27] oh, Christopher posted something about
[45:30] security not allowing self signed search. So that's where we we would have to do some checking on our end as well to make sure that that's something that they would allow. I think as long as we can show that, yes, it's changing
[45:41] and, you know, that kind of thing, we might be okay.
[45:45] And that's why I keep saying talk to your security of what actually is the rule in your company. Because Yep. Our SH server is a little unusual because all it requires is the SH keys,
[45:56] but we need the cert because of how the server is built.
[46:00] And it has to do a lot of history and the fact that we try to capture the same as the others and so on. So
[46:06] most SSH servers on the market don't have a SL cert on them. They just have keys, which is the norm.
[46:12] When ours was built, it was built with a cert on top of it.
[46:17] Maybe,
[46:18] that might be worth adding an idea,
[46:21] over on the ideas portal about dissociate
[46:24] changing that going forward, but it will require a huge rewrite on the server.
[46:29] It's just how it's built, unfortunately.
[46:32] Okay.
[46:33] Thank you very much for that. That's what it is. Yeah. Thank you very much. Okay.
[46:39] William, you've been very patient.
[46:41] Wait. Yep.
[46:42] I know. William, thank you for being patient, and that's you now.
[46:46] Hey. Yes. Hi, Annie. After having set up a an account management application for notifying users of their expiring
[46:54] SSH keys,
[46:55] I was able to
[46:57] to modify the the mail template for, you know, for branding purposes.
[47:01] But I find that the variable at the very bottom of the mailing template, is both in the contents,
[47:08] I couldn't find a JSON file that can contain the wording,
[47:11] of it. So is there a is there a way to modify that
[47:15] or to be able to just one.
[47:18] Not on just one. So for the ones that just put a variable,
[47:23] inside of the of the template, they are hard coded in the,
[47:28] in in the JARS in the Java code, basically. Okay. I see. Okay. I I have I
[47:33] was expecting that, but I was I wanna make sure that there was not no place else I could see. They
[47:38] have been looking into it to try to move them out. But, unfortunately, the way they build those strings is
[47:44] so every time when you see just a variable that contains multiple things, those are not configurable anywhere.
[47:51] You can configure the x h t m l as much as you want. You can add more tags. You obviously found that.
[47:56] Yes. But if they're calling a variable,
[47:59] the variable is what the variable is, unfortunately.
[48:02] Now It is what it is. Okay.
[48:04] It is.
[48:05] Now there are a couple of things you might be able to do on some others, but not on this one. For example, if it is a routing based one,
[48:14] now that we have the new step that allows you to add additional flow parameters, you can actually build your own flow parameter with whatever string you want and then use that in the mail instead.
[48:24] But that doesn't apply to send notifications
[48:27] for certificates and so on because they don't have a routing,
[48:31] routing. So we are working on things slowly,
[48:35] obviously, but it just takes forever.
[48:38] And and for this one,
[48:40] it's not even a pattern based. They basically created the string inside of Java, creating the string inside of Java and throwing it out.
[48:49] So it's not it cannot be translated, which is a big problem in our in Europe, for example. Mhmm. Yeah. So it's
[48:56] they are looking into changing things, but just like the list of files when we sent ad hoc notification that you have 10 files to download or something like that, those just come as they are. And they are not passable, changeable,
[49:09] updatable.
[49:11] I
[49:13] it's it's just how it was built.
[49:16] Okay. So, unfortunately Thank you
[49:18] very much for that. No problem. However,
[49:22] it you if you need to add more
[49:25] things
[49:26] to that message, you can add it back into the eight x HTML, and you found that already, I suspect.
[49:32] So just you cannot check what the message itself says, but you can work around that by adding more information in the template.
[49:40] I see. Okay.
[49:42] Right. Makes sense?
[49:44] Yes. Thank you very much. Yeah. Because you can you can use any variable over there, and you can also use
[49:51] any strings. So if you just type a message, you know, contact,
[49:55] you know, contact William for all I can Under under the variable. Yes. Okay. Got it. Very good. Under it, above it, around it.
[50:04] You know, you can do whatever fancy thing you want. The only thing I will warn you is if you're going too fancy with and so on, they won't work in most clients. So don't do that. Just because male clients can be stupid sometimes.
[50:16] And, honestly,
[50:18] right, creating a new a very beautiful mail that works both on, web mail based mails and text based mail text mails and
[50:28] Outlook is almost impossible.
[50:30] That's why we have this basic looking pattern,
[50:35] but you can add as much information as you want in there.
[50:39] So Sounds good. Yep. Okay. Great. Thank you.
[50:43] Okay. Well and Jeff have a question. So
[50:46] big application back ends are exchanging from IBM broker to EKS. Yay. Finally.
[50:53] Everything is AWS.
[50:55] Any issues foreseen with such a move? I suspect sorry. I need to read that. So all our apps are within our AWS
[51:02] cloud on the various
[51:04] EC tools. Any issues foreseen with such a more comparing everything within the VPC should be helpful.
[51:11] Boy, what a babbling question Jeff has. That is I just
[51:17] I just Basically,
[51:19] you
[51:20] are moving everything. So everything will be in AWS?
[51:24] Everything
[51:25] is already
[51:27] there including this, you know, the IBM broker,
[51:31] but we're getting we're getting rid of that. And and and we're we're already feeding in
[51:36] from EKS,
[51:37] but they're, you know, they're much smaller volume.
[51:40] Now we're gonna be feeding in
[51:43] and picking up tons of stuff, you know. We're we're really increasing
[51:48] that volume tremendously.
[51:51] So
[51:52] there you know, I I guess all kinds of combos with EKS,
[51:57] workers,
[51:58] nodes, and so on need to really be,
[52:02] you know, played with quite a bit until until we get a nice a nice flow.
[52:07] What do you think?
[52:08] The one thing I'll be very careful about is not to allow too many files to end up in the same folder or same server for and ask to try to pull them at the same time. You know, the 10,000 files
[52:21] problem.
[52:22] And speed is a lot better than it used to be,
[52:26] but still that's what can kill us and make us unstable. And the other thing is when you change from one application to another and one manager for to another in a way,
[52:37] you might see a shifting of the patterns and peaks and how data is coming and when it's coming and what's getting processed when.
[52:45] So you might need to do some performance
[52:48] changes to account for that. Right. Right? Because
[52:52] if the broker
[52:53] could for example, if the IBM broker couldn't do more than six files per time, you know, six threads, whatever, and Audi can do 25,
[53:03] ST is okay usually with a number, but
[53:06] your configuration
[53:08] is set for the old world and you have also other traffic going on. So it's not about so I'm not that much worried about the move from one product to another.
[53:18] Yeah. It's that if the pattern changes,
[53:21] if the way files are coming changes, you might need to do something around it to protect SD. Okay. Yeah. Right now right now, it looks like, you know, early tests,
[53:31] their
[53:32] outbound,
[53:33] which is
[53:34] much higher volume,
[53:37] is going okay. And the and when I inbound,
[53:40] like, when a customer drops off and
[53:43] ST then puts it in the folder
[53:46] that the broker was picking up. Now it's gonna be EKS
[53:49] is picking up.
[53:51] They seem to it seems to be a little bit slower,
[53:54] which is kinda weird because it's going through the same, you know, VPC and everything. But I think it's more on the application
[54:02] side with getting the right
[54:04] combo
[54:05] configured,
[54:06] you know, because it's it's SD is taking stuff and zipping it right to to where it needs to go.
[54:13] And then
[54:14] EKS is
[54:16] needs to come in and pick up all that stuff and suck it in and do its application thing. That piece is a little bit slow right now, but they seem to be
[54:27] getting it better.
[54:29] So I I would think it's really on our application side, just getting that adjusted properly.
[54:36] Yeah. My good feeling is that either they're coming with less threats or with Yeah. Smaller threats with smaller buffers or something compared to and that's what I was talking about. It's not really about the data per se. It's Mhmm. You have moving parts and you're changing one of them. Right? Right. And especially because the way SK is configured had been based on the IBM broker details and how it was working. So if EKS changes that
[55:02] or require smaller windows or whatnot, you might need to adjust it on the SDS side. Yeah. Yeah. And you just said you just said something that clicked when you'd said less threads. I've heard them I've heard them talking about that, you know, adjusting, you know, with with with that. So
[55:19] I'll report back. I I that's that's pretty good for now. That's what I need. Thank you. Yeah. It's it's it's the same conversation you always hear for you when you change the partner, when they change something on their side. Mhmm. It's the same volume of data. It's the same number of files, but the way
[55:35] they are sending them and the speed and the the thresholds and so on changes,
[55:41] which will change everything. So if they're if every if they're picking up slower,
[55:47] I would say that something on their side is just not coming fast enough to ST because nothing changed on ST. You have the files in place. Exactly.
[55:55] And that step cannot change. But now but if the broker was coming with 10 connections and then
[56:01] sick is getting
[56:03] the files within the 10 connections without closing, reopening, and whatnot. Yep. That will be a lot faster
[56:09] than if EKS is opening five connections only and closes after every file to come for another one, how SD works usually. Right? So it's the details.
[56:19] That's exactly what I wanted to hear. And that confirms, you know, that that that confirms some thoughts over here. Okay. Yeah. Thank you. Thank you, Annie. One thing
[56:29] I need you to check,
[56:31] by the way, is do the look at just don't look at how long it takes for the whole job to finish from the beginning to end, but just look at the transfers only and calculate the timing there.
[56:43] Not for transfer,
[56:44] but for all of them. For example,
[56:46] within an hour
[56:48] in the old and the new way and see if that is also slower. Because if this is slower,
[56:53] what is going to tell you that either you have oversaturation in the network
[56:57] or there is a slowness
[57:00] latency slowness or something between whatever a k ETS is and SPS, and you might need to look into that and see what And channels
[57:09] Yes. And sometimes the application doesn't let you know that they're also doing something else from an application perspective
[57:16] that now is coming to the forefront.
[57:19] So
[57:20] I'm good. Thank you very much.
[57:22] Yep. I don't like applications
[57:25] doing multiple things. Part of the reason why I like s t pushing the data out as opposed to just us staging the files and someone else coming is that we control when the files go.
[57:34] As opposed to us. Sitting and waiting and then someone coming from outside with hundreds of connections and complaining, but it's slow. Well, yeah, because you're trying to download 100 files from the same folder at the same time. And that's another thing. Especially
[57:50] if the files sit longer in the folder,
[57:54] that will mean that you have more files in the same folder for a longer time. So when someone tries to read it,
[58:00] all the responses on list and so on will be slightly slower
[58:05] because there is more data there.
[58:08] Right? The way
[58:09] OSes work, everything works like that. The more files you have in the same folder, the slower the access to the folder becomes.
[58:17] So you might want to look at that as well.
[58:21] Thank you.
[58:22] Okay. It's a lot it's a lot better this week than it was last week.
[58:26] So that's so that's good. So we're going in the right direction.
[58:30] Yep. And and, honestly, you'll step somewhere weirdly and then you'll need to come back and fix it again. But it's it's what it is when you have a lot of data moving between two applications and two channels. You just need to adjust on both sides. And from the sounds of it, I'm not saying you cannot adjust things in ST
[58:48] as well, obviously.
[58:50] But from the sounds of it, AKS just need to pick up their game. That's right. It's not the s it's not on the estimate. My
[59:00] my conclusion
[59:01] thus far, it's not any problem with ST. It's on the EKS side.
[59:06] Thank you. I gotta run to an immediate 02:00 meeting. So thank you very much, Annie. Okay. Yep. Okay.
[59:12] Any other questions?
[59:22] No?
[59:29] Well,
[59:30] if no one has a question, we're done in an hour, which a little surprising, but not much because we had another hour earlier late last week with the other half of the people. So thanks everyone for joining us.
[59:43] So,
[59:44] logistically,
[59:45] next month will be a single meeting at the regular hours. Then in June, we're doing the double meeting early late again.
[59:53] We're still testing all this.
[59:56] So,
[59:57] I will we will appreciate any feedback on the timing,
[60:01] and does this timing work for you and so on and so forth.
[60:05] I
[60:06] I like the split meeting simply because it gets chance more chances to people to come into the meeting, but it also obviously can't run for ninety minutes every time because we don't have that many people.
[60:18] So last
[60:20] Yeah. Call for questions before I get it back to Jeff.
[60:29] Yeah. Olga,
[60:30] look for the other meeting as well. So I had last Thursday, it's
[60:35] three hours earlier than this one,
[60:40] which might be better for you.
[60:42] Yeah. We're experimenting with some times that are more EMEA friendly and North America friendly rather than just one time for both.
[60:51] So as I said
[60:52] as I said, the one next month will be the regular time
[60:56] that is geared to everyone. But then in June, we'll again have the two meetings. One at
[61:03] three hours earlier than this one, and then this one for the West Coast on The United States and US
[61:09] in general.
[61:10] So
[61:11] okay. So Thanks, everyone.
[61:13] So so I'm sorry. So so the normal time is 7AM
[61:16] Pacific,
[61:17] usually?
[61:19] Yes.
[61:20] It's 7AM Pacific on the regular time.
[61:24] It's basically 5PM
[61:27] French
[61:28] France. That's what we're targeting.
[61:30] And this this was used to be our regular window for almost three years. More than three years, we're doing those.
[61:36] So we're experimenting a little bit. Because you're Pacific,
[61:39] you'll have the regular, but also every second month, we'll have this late one at least for now.
[61:44] And after a few months, we'll make a decision of what we're doing. We're just trying to help everyone based on time zones because it's a big world. And if you by the way, if you have APAC offices and someone on the other end of the world, I also have quarterly
[61:59] meeting
[62:00] with APAC basically at 7PM
[62:03] my time.
[62:05] So there is also another meeting for if you are all the way at the other end of the world.
[62:10] We're trying to cover the globe. Yeah. So Yeah. Yeah. It it's hard to find a single time that works across the globe.
[62:17] Yep. Yep. Yep. I mean, we had all guys in South Africa, and we have the West Coast Of The United States, and that's a huge span
[62:26] of time zones. So
[62:28] okay.
[62:29] So back to Jeff. Thanks, everyone, for joining.
[62:32] Thanks a lot, everybody. Appreciate it. Thank you, Annie. Just a couple concluding remarks. I just wanna highlight about,
[62:39] actually community and everything that that's on,
[62:42] the side in terms of the ideas portals that Annie was mentioning. We have the user group calendar, both what's coming up as well as recordings
[62:50] of past sessions,
[62:52] product road maps.
[62:53] ST is is
[62:55] obviously featured.
[62:56] And then,
[62:57] you know, what's near and dear to community is just an open on demand, discussion forum. So, please take a look at that.
[63:05] One thing new that we started last year was about, having what's new videos on,
[63:10] secure transport and and other products. It's we have a YouTube channel for it, and it's really just a,
[63:16] three to five minutes that they're short videos about the the the latest update,
[63:22] on the product and and some things to to to highlight.
[63:26] So take a look at that. And, again, I'll I'll provide these slides out.
[63:30] And then one last thing is,
[63:33] welcome,
[63:34] reviews.
[63:35] G two is a
[63:37] a site that that,
[63:39] many use when they're about evaluating
[63:41] a technology product.
[63:43] So you're feel free to to leave a review about
[63:47] SecureTransport or any other actuator solution
[63:50] that you that you use.
[63:53] Thank you again for being here. We very much appreciate it. Thank you, Annie,
[63:58] and hope you all have a great rest of your day. And we'll see you next time. Thanks, everyone.
[64:03] I hope I'll see some of you in Denver.
[64:07] Come say hi. I'll be there.
[64:09] Thank you. Have a good day. Bye bye. Thanks, guys. Good day, everyone. Bye. Thank you. Thank you. Bye.