00:00:04.370 --> 00:00:08.031 It's critical that we, you know, logged and needs reallocation,
00:00:08.031 --> 00:00:11.177 but also reach out to the project manager and let them
00:00:11.177 --> 00:00:13.180 know that you need that line item.
00:00:14.170 --> 00:00:17.975 And I would also say just from an an efficiency standpoint, it
00:00:17.975 --> 00:00:21.840 would actually be better to, you know, proactively reach out if
00:00:21.840 --> 00:00:24.800 you're aware that you don't have that line item.
00:00:25.550 --> 00:00:25.970 Umm.
00:00:27.200 --> 00:00:30.992 And I just wanted to make sure everyone knew what happens
00:00:30.992 --> 00:00:35.308 because it's it's maybe a little bit of a black box, but when you
00:00:35.308 --> 00:00:38.381 miss log something or log something that needs
00:00:38.381 --> 00:00:42.566 reallocation that that time log entry gets chopped up basically
00:00:42.566 --> 00:00:46.490 and and put it into the correct one, the correct line item.
00:00:46.540 --> 00:00:50.602 And to do that and I use the terminology chopped up
00:00:50.602 --> 00:00:55.445 intentionally here, the the log that that you enter literally
00:00:55.445 --> 00:00:57.320 has to be deleted right?
00:00:58.790 --> 00:01:03.122 In some cases, some cases you can just switch, you know, add
00:01:03.122 --> 00:01:05.680 you to the line item and switch it.
00:01:06.460 --> 00:01:10.777 Umm, those are the easier scenarios obviously, but a lot
00:01:10.777 --> 00:01:15.700 of people have a tendency across the board to log like different
00:01:15.700 --> 00:01:17.670 things onto one line item.
00:01:17.900 --> 00:01:22.880 And in that case, we literally have to go in and chop the time
00:01:22.880 --> 00:01:27.701 Logan tree up and redispersible it the I'm sure you guys can
00:01:27.701 --> 00:01:31.575 just imagine from that description the developer
00:01:31.575 --> 00:01:36.396 equivalent of this would make you all lose your minds if you
00:01:36.396 --> 00:01:41.060 had to do this and it's just redoing, you know, constantly
00:01:41.060 --> 00:01:45.250 redoing the same work basically over and over again.
00:01:45.260 --> 00:01:49.090 So needs reallocation, has to it's.
00:01:49.100 --> 00:01:52.715 It's kind of like a necessary evil, I would say, because
00:01:52.715 --> 00:01:53.920 obviously you know.
00:01:56.220 --> 00:01:56.960 There's not.
00:01:56.970 --> 00:02:00.381 There's going to be times where you don't have the correct line
00:02:00.381 --> 00:02:03.633 item and we need people to log their time, so definitely use
00:02:03.633 --> 00:02:03.900 that.
00:02:04.340 --> 00:02:07.946 But please, please, please reach out to the project manager and
00:02:07.946 --> 00:02:10.820 let them know that you need the correct line item.
00:02:11.710 --> 00:02:15.286 UM, and you know that way you'll have it, and then we can be a
00:02:15.286 --> 00:02:17.670 little bit more efficient with that time.
00:02:18.350 --> 00:02:20.000 Umm, so that was all I had.
00:02:20.010 --> 00:02:21.570 I just wanted to give that quick PSA.
00:02:21.580 --> 00:02:22.990 Does anybody have any questions on that?
00:02:24.190 --> 00:02:25.080 You might have said this.
00:02:25.090 --> 00:02:30.542 I was reading something but if I don't have a line item, is it OK
00:02:30.542 --> 00:02:35.830 if I log to needs reallocation and just mark what project it is
00:02:35.830 --> 00:02:38.970 and what feature I was working on OK.
00:02:37.750 --> 00:02:38.480 Yes.
00:02:38.700 --> 00:02:41.700 And the yes, that's definitely OK.
00:02:41.710 --> 00:02:44.857 And I would also follow it up by requesting that like letting the
00:02:44.857 --> 00:02:47.814 project manager know that you logged to needs your allocation
00:02:47.814 --> 00:02:50.390 and that you need that line item and the other point.
00:02:50.400 --> 00:02:51.320 And thank you for asking.
00:02:51.330 --> 00:02:54.860 This would be it would be better if you like.
00:02:54.870 --> 00:02:57.644 Let's say you work on two different features for the same
00:02:57.644 --> 00:02:58.840 project and the same day.
00:02:58.930 --> 00:03:01.998 It would be better to have those as two separate needs
00:03:01.998 --> 00:03:03.170 reallocation entries.
00:03:03.770 --> 00:03:04.070 Umm.
00:03:04.870 --> 00:03:08.857 Umm, because that will make it more efficient to literally just
00:03:08.857 --> 00:03:12.034 switch the project and the activity and then leave
00:03:12.034 --> 00:03:15.709 everything else the same versus if you if you log multiple
00:03:15.709 --> 00:03:19.509 features to the same entry, that's when we have to basically
00:03:19.509 --> 00:03:22.500 create new ones to disperse that time properly.
00:03:22.960 --> 00:03:26.567 And Brandon, you, Brandon, you may have said that, but the way
00:03:26.567 --> 00:03:30.232 at least on new projects and for the majority of items that are
00:03:30.232 --> 00:03:33.725 just already exist, if you've been assigned a ticket, if you
00:03:33.725 --> 00:03:37.047 go up to the feature, so you click on your user story and
00:03:37.047 --> 00:03:40.483 then go to parent and see the feature that is the line item
00:03:40.483 --> 00:03:42.430 that you should be logging it to.
00:03:43.250 --> 00:03:46.352 So when you're doing needs reallocation, needs reallocation
00:03:46.352 --> 00:03:47.180 should probably.
00:03:47.190 --> 00:03:49.157 I mean, you should be assigned to all the line items that
00:03:49.157 --> 00:03:50.040 you're signed features to.
00:03:50.130 --> 00:03:53.552 If you're not usually reallocation, obviously James,
00:03:53.552 --> 00:03:57.362 Brendan, Jesse and everybody else who helps people, you'll
00:03:57.362 --> 00:03:59.300 need to do needs reallocation.
00:03:59.310 --> 00:04:01.260 And so just ask the person that you're helping.
00:04:01.270 --> 00:04:04.892 Just a quick little hey, what's the feature that I'm that I'm
00:04:04.892 --> 00:04:08.515 helping you on and so that that feature level the name should
00:04:08.515 --> 00:04:10.560 match exactly to the EP line item.
00:04:15.480 --> 00:04:16.540 Yep 100%.
00:04:21.770 --> 00:04:22.380 Alright, cool.
00:04:22.780 --> 00:04:25.140 And then Brendan, I know you had a few things, so I'll kick it
00:04:25.140 --> 00:04:25.590 over to you.
00:04:27.670 --> 00:04:28.610 Alright everybody.
00:04:32.450 --> 00:04:37.069 I had a quick thing I wanted to cover with everybody because
00:04:37.069 --> 00:04:41.234 it's something that I see happening kind of across the
00:04:41.234 --> 00:04:45.929 board and I want to, uh, the way I worded it is half empower,
00:04:45.929 --> 00:04:49.640 half shame everybody into being better about it.
00:04:50.370 --> 00:04:55.976 Umm, so is everybody familiar with the concept of a black box,
00:04:55.976 --> 00:05:00.070 especially like in in programming to anybody?
00:05:00.080 --> 00:05:01.300 Does anybody not know what that means?
00:05:02.520 --> 00:05:03.570 Can you tell me what it means, Brendan?
00:05:04.540 --> 00:05:05.450 I'll tell you what it means.
00:05:06.040 --> 00:05:06.340 Thank you.
00:05:06.890 --> 00:05:10.035 A black box is something where you don't really understand what
00:05:10.035 --> 00:05:10.920 goes on inside it.
00:05:10.930 --> 00:05:11.940 You just give it input.
00:05:11.950 --> 00:05:13.980 It gives you output and you move on with your life.
00:05:16.930 --> 00:05:21.795 Something's really just are black boxes for at least for our
00:05:21.795 --> 00:05:26.421 purposes, but I think that I think that across the board,
00:05:26.421 --> 00:05:30.807 there's been sort of a a a tendency to assume that the
00:05:30.807 --> 00:05:35.752 boundaries of that black box are much closer to you than they
00:05:35.752 --> 00:05:36.630 really are.
00:05:37.640 --> 00:05:42.792 Umm, So what that might mean for just different examples is for
00:05:42.792 --> 00:05:45.610 back end developers that might be.
00:05:47.110 --> 00:05:50.835 Certain middleware that we use like structure map, not
00:05:50.835 --> 00:05:55.170 understanding what it's actually doing, why we're using it, and
00:05:55.170 --> 00:05:59.369 how to understand and make use of it for front end developers
00:05:59.369 --> 00:06:00.860 that might be calling.
00:06:01.290 --> 00:06:04.430 Your endpoint throws an error and you're to you.
00:06:04.440 --> 00:06:07.120 The endpoints of black box and so you don't dig into it any
00:06:07.120 --> 00:06:09.845 further than that which I think the most front envelopes are
00:06:09.845 --> 00:06:11.230 doing well about that nowadays.
00:06:11.240 --> 00:06:15.945 But just as an example, connect side is API throws an error, you
00:06:15.945 --> 00:06:20.144 know, especially on an asset API, all of those things are
00:06:20.144 --> 00:06:24.778 places where I see or at least have seen, a general tendency to
00:06:24.778 --> 00:06:29.049 just sort of say it's not working and and kind of throw up
00:06:29.049 --> 00:06:32.380 your hands and #1 we're all better than that.
00:06:32.730 --> 00:06:35.440 #2 none of those things are black boxes.
00:06:35.490 --> 00:06:39.024 You have every ability to investigate to at least some
00:06:39.024 --> 00:06:42.944 degree on every one of those problems, and at the very least
00:06:42.944 --> 00:06:46.735 I want to see more people acknowledging it that they don't
00:06:46.735 --> 00:06:50.977 know why something is the way it is, especially if you're getting
00:06:50.977 --> 00:06:55.025 PR comments about it or anything like that and asking or maybe
00:06:55.025 --> 00:06:58.110 bringing up, hey, can we do a training on this?
00:06:58.120 --> 00:07:01.275 I don't really know how that works and it would help if we
00:07:01.275 --> 00:07:04.431 could have a full in-depth training about it and obviously
00:07:04.431 --> 00:07:07.908 for a lot of these things we've done trainings about them before
00:07:07.908 --> 00:07:11.118 and James mentioned that we've done structure map trainings
00:07:11.118 --> 00:07:14.434 before, but there's a million of these different things where
00:07:14.434 --> 00:07:17.911 ultimately what it boils down to is just you have the ability to
00:07:17.911 --> 00:07:21.013 dig into problems when they arise more so than I'm seeing
00:07:21.013 --> 00:07:23.260 people do and we're all better than that.
00:07:23.730 --> 00:07:24.250 Umm.
00:07:24.850 --> 00:07:28.993 And I think that, again, if people can just start calling
00:07:28.993 --> 00:07:33.280 out, like, hey, I'm seeing this problem, I can dig into it.
00:07:33.370 --> 00:07:38.270 I may not be the most the most efficient to to dig into it.
00:07:38.280 --> 00:07:39.950 If anybody can help me, et cetera.
00:07:40.900 --> 00:07:43.951 But that would be better than the what I see a lot currently,
00:07:43.951 --> 00:07:46.854 which is just it's not working and then giving up and then
00:07:46.854 --> 00:07:49.856 asking for help immediately or just not really being able to
00:07:49.856 --> 00:07:50.250 proceed.
00:07:51.220 --> 00:07:53.220 So umm.
00:07:56.120 --> 00:07:57.220 Yeah, that's a good.
00:07:57.230 --> 00:07:59.720 That's a good, uh, call out there, Jeremy, is that, uh,
00:07:59.720 --> 00:08:02.389 obviously the counterbalance to this is don't spend 6 hours
00:08:02.389 --> 00:08:05.280 troubleshooting something if you have no idea what you're doing.
00:08:05.900 --> 00:08:09.652 Umm, there's certain if there's certain kind of levels of depth
00:08:09.652 --> 00:08:13.112 that I think everybody is is aware of their E umm, they're
00:08:13.112 --> 00:08:16.747 kind of limits there, but once you start kind of feeling like
00:08:16.747 --> 00:08:20.324 you're getting underwater in terms of the complexity of what
00:08:20.324 --> 00:08:23.900 you're looking at or if you're aware that the feature you're
00:08:23.900 --> 00:08:27.594 looking at is going to have that level of complexity going in,
00:08:27.594 --> 00:08:31.406 then obviously preemptive office hours is a good idea at the end
00:08:31.406 --> 00:08:33.810 of the day, it's just use your judgment.
00:08:34.770 --> 00:08:35.290 Umm.
00:08:35.350 --> 00:08:39.450 But umm, but yeah, so maybe some amount of time.
00:08:39.460 --> 00:08:42.514 That's just sort of a hard cut off, like Jeremy said, for
00:08:42.514 --> 00:08:45.778 connect developers, that's 30 minutes of investigation before
00:08:45.778 --> 00:08:47.990 they reach out to CEF backend developers.
00:08:48.760 --> 00:08:52.377 Umm, that's a pretty good number because obviously you know after
00:08:52.377 --> 00:08:55.830 30 minutes, if you haven't found the cause, that's either more
00:08:55.830 --> 00:08:58.900 complicated or it's just something fundamentally broken
00:08:58.900 --> 00:09:02.462 somewhere that's probably gonna be harder to find if you haven't
00:09:02.462 --> 00:09:04.710 seen the issue before or whatever it is.
00:09:04.720 --> 00:09:10.420 So, but anyway, any questions about any of that?
00:09:10.860 --> 00:09:13.010 Thoughts, fears, et cetera.
00:09:13.540 --> 00:09:16.848 At a quick comment on that, because I think that one thing
00:09:16.848 --> 00:09:20.326 that might help a lot of people is it's possible that that 30
00:09:20.326 --> 00:09:23.130 minutes, maybe even just identifying the problem.
00:09:23.140 --> 00:09:26.854 And so that's to me might be a root issue for some of the
00:09:26.854 --> 00:09:31.017 problems that we have is do you know how to identify the problem
00:09:31.017 --> 00:09:32.170 especially in CEF?
00:09:32.520 --> 00:09:35.350 It's what's the error that it's giving me.
00:09:32.720 --> 00:09:33.040 Umm.
00:09:35.360 --> 00:09:38.620 Do I know where to go find look to find those errors?
00:09:39.590 --> 00:09:42.618 You know, based on the information that I'm presented,
00:09:42.618 --> 00:09:46.087 so I know how to look into the you know the system log to see,
00:09:46.087 --> 00:09:48.400 you know maybe where it's supposed to be.
00:09:48.550 --> 00:09:52.122 And then from there it can be a simple ping in a Brendan may
00:09:52.122 --> 00:09:54.290 say, please don't everybody do this.
00:09:54.300 --> 00:09:57.497 Then he'll get 100 pints a day, but I know for the development
00:09:57.497 --> 00:09:59.680 work I do, just like once I've identified.
00:09:59.720 --> 00:10:01.180 Hey, here's the error I have.
00:10:01.240 --> 00:10:04.819 I'm gonna go track it down, but just sending a quick screenshot
00:10:04.819 --> 00:10:08.510 to James or Brendan or Justin or Tim or whoever just saying, hey,
00:10:08.510 --> 00:10:10.300 have you seen this error before?
00:10:10.350 --> 00:10:13.167 Or Brendan might be able to just be like, Oh yeah, you're
00:10:13.167 --> 00:10:14.090 migrations are bad.
00:10:14.160 --> 00:10:16.590 It may literally be something that simple, right?
00:10:15.870 --> 00:10:16.380 A lot.
00:10:16.770 --> 00:10:21.012 A lot of issues can be defined like alter can tell you the the
00:10:21.012 --> 00:10:25.254 answer within 30 seconds, like for example the the timeout has
00:10:22.250 --> 00:10:22.500 Right.
00:10:25.254 --> 00:10:26.870 has exceeded 10 seconds.
00:10:27.730 --> 00:10:28.540 Read this now.
00:10:28.620 --> 00:10:32.010 The that that means Redis is down or you can't reach Redis
00:10:32.010 --> 00:10:32.700 for forever.
00:10:32.710 --> 00:10:33.210 It is.
00:10:33.440 --> 00:10:35.830 That's always going to be the answer to that question.
00:10:36.060 --> 00:10:39.430 So there's gonna be several things like that that I'm like.
00:10:39.440 --> 00:10:42.270 It's an immediate I can tell you exactly what that problem is.
00:10:42.700 --> 00:10:44.921 Definitely going to be plenty of times where it's gonna be more
00:10:44.921 --> 00:10:47.005 nebulous where like it's a null reference exception and you
00:10:47.005 --> 00:10:48.220 don't know where it's coming from.
00:10:48.500 --> 00:10:51.849 But if you have the log ID, you can jump to the system log table
00:10:51.849 --> 00:10:54.890 and at least try to follow the stack trace that was there.
00:10:55.020 --> 00:10:58.368 And if that doesn't help you understand you were missing like
00:10:58.368 --> 00:11:01.500 a status key on your model as you were sending it over or
00:11:01.500 --> 00:11:04.956 whatever, then then throwing it up and saying hey, I don't know
00:11:04.956 --> 00:11:06.360 where this is coming from.
00:11:06.370 --> 00:11:07.930 Can you can, uh back end or help me?
00:11:08.610 --> 00:11:09.150 Umm.
00:11:09.290 --> 00:11:11.895 Alright, I stepped back under, specifically helped me if I'm
00:11:11.895 --> 00:11:13.220 connect or if I'm in front end.
00:11:17.600 --> 00:11:18.110 Yep.
00:11:18.190 --> 00:11:21.757 And just kind of, uh, I don't know if this will be a final
00:11:21.757 --> 00:11:22.060 note.
00:11:22.070 --> 00:11:24.704 If anybody else has anything else to add, but just another
00:11:24.704 --> 00:11:27.338 note from me on this is if you're seeing little consistent
00:11:27.338 --> 00:11:30.062 things like kind of what like James just pointed out of like
00:11:30.062 --> 00:11:32.562 that specific error message of like timeout exceeded 10
00:11:32.562 --> 00:11:32.920 seconds.
00:11:32.930 --> 00:11:34.210 If you're, if you're.
00:11:34.220 --> 00:11:38.073 If you are seeing stuff like that and you're thinking, can
00:11:38.073 --> 00:11:41.862 we, you know, can we change that error message to be more
00:11:41.862 --> 00:11:42.450 explicit?
00:11:42.640 --> 00:11:45.940 The answer is yes, and generally speaking, for arcane things,
00:11:45.940 --> 00:11:47.590 you're regularly coming across.
00:11:48.300 --> 00:11:52.071 Just keep calling those things out and I know that for some of
00:11:52.071 --> 00:11:55.963 us, that stuff like the for like connect developers, that's like
00:11:55.963 --> 00:11:59.615 when you sync in for example a product and it duplicates the
00:11:59.615 --> 00:12:02.908 product category records, deactivates the old ones and
00:12:02.908 --> 00:12:06.321 makes new ones and that is that's a consistent recurring
00:12:06.321 --> 00:12:06.800 problem.
00:12:07.150 --> 00:12:09.980 I see that on most of the integrated CEF projects.
00:12:10.210 --> 00:12:13.019 If you guys keep calling that out, that's going to make it
00:12:13.019 --> 00:12:15.970 easier or more likely for us to remember that we need to port
00:12:15.970 --> 00:12:16.780 the fix for that.
00:12:16.790 --> 00:12:19.942 From whatever project into core once and for all, and not worry
00:12:19.942 --> 00:12:20.780 about it anymore.
00:12:21.540 --> 00:12:22.080 Umm.
00:12:22.400 --> 00:12:25.514 And the the challenge is that whenever it happens and it gets
00:12:25.514 --> 00:12:28.528 fixed quietly, that kind of stuff just sort of falls by the
00:12:28.528 --> 00:12:28.930 wayside.
00:12:29.120 --> 00:12:32.032 And then turns into the same thing later of a different
00:12:32.032 --> 00:12:35.049 developer runs into that problem, and it's a black box to
00:12:35.049 --> 00:12:37.390 them, and they don't bother digging into it.
00:12:37.400 --> 00:12:40.732 And then another developer who didn't know that that problem
00:12:40.732 --> 00:12:44.227 was fixed on that other project gets to spend 3 hours debugging
00:12:44.227 --> 00:12:47.669 through some very, very deeply embedded mapping code to figure
00:12:47.669 --> 00:12:49.690 out that that's what the problem is.
00:12:50.610 --> 00:12:51.280 Umm.
00:12:51.590 --> 00:12:54.400 And so it ends up with a lot of churn.
00:12:54.590 --> 00:12:58.674 So if you keep seeing those things, I guess the the the way
00:12:58.674 --> 00:13:02.554 to say is if you see something, say something, just keep
00:13:02.554 --> 00:13:06.570 mentioning calling stuff out like that be a broken record.
00:13:07.400 --> 00:13:09.770 Uh, that is fine by me.
00:13:10.320 --> 00:13:15.085 Uh, because there are definitely things that that uh have been
00:13:15.085 --> 00:13:19.700 fixed on projects and then I mean y'all know how busy it is.
00:13:19.710 --> 00:13:21.780 We just sometimes it falls by the wayside.
00:13:21.790 --> 00:13:22.710 It doesn't get the fix.
00:13:22.720 --> 00:13:27.694 Doesn't get pulled into core and you know, six months later the
00:13:27.694 --> 00:13:32.281 same issue arises, and that's unfortunate, but the more we
00:13:32.281 --> 00:13:36.090 hear it, the more likely we are to to get it so.
00:13:40.240 --> 00:13:40.860 But that's all I had.
00:13:41.400 --> 00:13:46.510 Umm, so to recap, not everything is a black box.
00:13:46.520 --> 00:13:51.697 If it's, if it doesn't perfectly align with uh, your job
00:13:51.697 --> 00:13:57.146 description, I guess this is a funny way to put it, so feel
00:13:57.146 --> 00:14:01.960 empowered to dig a little deeper than you have been.
00:14:02.360 --> 00:14:03.020 Umm.
00:14:03.080 --> 00:14:06.868 And again within your within limitations, don't spend 6 hours
00:14:06.868 --> 00:14:10.718 on things that are, you know, really complicated reach out for
00:14:10.718 --> 00:14:14.080 help if you know you need to use your better judgment.
00:14:15.450 --> 00:14:17.410 But that's it.
00:14:19.670 --> 00:14:22.805 Uh, Brandon, if I could jump in a little bit, would it be
00:14:22.805 --> 00:14:25.995 helpful to go over being able to clone the source down and
00:14:25.995 --> 00:14:28.590 attached to pipeline sites and stuff like that?
00:14:30.420 --> 00:14:30.870 Sure.
00:14:30.940 --> 00:14:33.880 I actually just did that on Greg.
00:14:33.150 --> 00:14:33.530 It didn't.
00:14:33.890 --> 00:14:34.580 What project was that?
00:14:34.580 --> 00:14:35.430 Deep BBC.
00:14:36.410 --> 00:14:36.630 Yep.
00:14:36.760 --> 00:14:37.000 Uh, yeah.
00:14:39.400 --> 00:14:42.579 Yes, pulling the source code down inside the staging box,
00:14:42.579 --> 00:14:45.812 building it and then attaching to the running site without
00:14:45.390 --> 00:14:47.740 Umm Yep.
00:14:45.812 --> 00:14:49.266 having to change like the folder paths or anything in IIS does
00:14:49.266 --> 00:14:49.540 work.
00:14:50.110 --> 00:14:53.023 Umm, as long as the source code that is actually deployed
00:14:53.023 --> 00:14:56.037 actually matches the version that you've you've checked and
00:14:56.037 --> 00:14:58.951 we've had every now and then there's a problem where it's
00:14:58.951 --> 00:15:02.116 like you're not deploying what you think you're deploying kind
00:15:02.116 --> 00:15:05.230 of thing, so the code doesn't match because it's it literally
00:15:05.230 --> 00:15:07.240 isn't matching what you thought it was.
00:15:07.350 --> 00:15:11.496 So just double checking that the decode that was deployed does
00:15:11.496 --> 00:15:15.050 include umm, you know, changes to the staging branch.
00:15:15.170 --> 00:15:17.270 Uh that you thought were in there?
00:15:17.360 --> 00:15:19.698 Kind of thing, you know, make sure the source code is actually
00:15:19.698 --> 00:15:20.960 merged that data and deployed it.
00:15:21.460 --> 00:15:25.747 And second, uh, I've done the proof of concept on one of the
00:15:25.747 --> 00:15:29.824 boxes and enable the remote debugging ability so that you
00:15:29.824 --> 00:15:33.620 wouldn't have to download the source code to the box.
00:15:33.830 --> 00:15:37.032 You could use it locally and attach to the remote service of
00:15:37.032 --> 00:15:37.820 that other box.
00:15:38.190 --> 00:15:41.236 However, actually implementing that to all of the boxes I need
00:15:41.236 --> 00:15:44.089 to sit down with Ben and get that scheduled so that he can
00:15:44.089 --> 00:15:47.039 physically implement that, open the ports and everything, so
00:15:47.039 --> 00:15:50.182 that all of our dev and staging servicer have that on by default
00:15:50.182 --> 00:15:53.035 because that will make it simplified so that you even have
00:15:53.035 --> 00:15:55.260 to go in and build that stuff on those boxes.
00:15:55.270 --> 00:15:56.890 You could just remotely attach.
00:15:58.890 --> 00:16:02.258 That should be very nice, because building on those boxes
00:16:01.030 --> 00:16:01.290 Yeah.
00:16:02.258 --> 00:16:04.000 is sometimes not exactly fast.
00:16:03.220 --> 00:16:03.380 Yeah.
00:16:04.570 --> 00:16:04.790 Yeah.
00:16:05.240 --> 00:16:05.400 Yeah.
00:16:07.190 --> 00:16:07.780 Well, cool.
00:16:07.930 --> 00:16:09.410 Any other thoughts or questions?
00:16:09.420 --> 00:16:10.450 Any moments to throw out on that?
00:16:12.840 --> 00:16:16.101 I'll just add a small thing, which is if you're not using
00:16:16.101 --> 00:16:19.418 chat GPT, you got something wrong with you or some sort of
00:16:19.418 --> 00:16:22.961 AI because I use it all the time now just to figure out like I
00:16:22.961 --> 00:16:25.210 basically use it like Google, you know?
00:16:25.220 --> 00:16:27.295 And I'm like, I'm kind of embarrassed to ask this question
00:16:25.660 --> 00:16:25.840 Yep.
00:16:27.295 --> 00:16:29.230 because I don't know the answer, and I think I should.
00:16:29.380 --> 00:16:34.214 But Chad, GPT is a judgment free zone, and so I just ask it stuff
00:16:32.270 --> 00:16:36.650 And Yep, so yeah, I'm glad you brought that up.
00:16:34.214 --> 00:16:35.460 all day long. So.
00:16:36.660 --> 00:16:39.716 There's actually something that I wanted to to mention, and I'm
00:16:39.716 --> 00:16:42.773 gonna sound like what probably most software developers sounded
00:16:42.773 --> 00:16:45.591 like 20 years ago when Google started becoming a big thing
00:16:45.591 --> 00:16:45.830 chat.
00:16:45.840 --> 00:16:47.500 GPT is a fantastic tool.
00:16:47.550 --> 00:16:47.930 Guys.
00:16:47.610 --> 00:16:48.930 Don't let it replace your brain.
00:16:50.600 --> 00:16:51.570 Learn from it.
00:16:51.640 --> 00:16:52.270 Right.
00:16:52.380 --> 00:16:55.792 I 100% encourage you to use it to find answers to things
00:16:55.792 --> 00:16:59.385 because like David said, it's great tool better than Google
00:16:59.385 --> 00:17:03.156 for a lot of questions, but make sure that whenever it answers
00:17:03.156 --> 00:17:06.928 the question for you, you you don't just like let that be your
00:17:06.928 --> 00:17:10.581 brain for that moment and like just dump the answer into the
00:17:10.581 --> 00:17:14.113 code and and then that's the extent of the thought you put
00:17:14.113 --> 00:17:15.670 into the to the situation.
00:17:16.040 --> 00:17:20.072 Make sure that you're gaining something from it so you don't
00:17:20.072 --> 00:17:24.370 have to ask that question again later, because at the end of the
00:17:24.370 --> 00:17:28.336 day, if if 100% of your output is chat, GPT, copy and paste
00:17:28.336 --> 00:17:31.510 what you know, we're not really paying for you.
00:17:31.520 --> 00:17:32.420 We're paying for chat, GPT.
00:17:37.240 --> 00:17:42.210 And also worth noting that I often I also also often find
00:17:37.700 --> 00:17:38.210 And that's my.
00:17:38.220 --> 00:17:39.820 That's my old man yells at cloud. So.
00:17:42.210 --> 00:17:42.810 myself.
00:17:44.920 --> 00:17:45.660 Asking chat.
00:17:45.670 --> 00:17:46.870 GPT, if it's sure.
00:17:47.930 --> 00:17:50.925 Like I'll read this answer and I'm like, I don't think that
00:17:50.925 --> 00:17:53.970 this is correct and sometimes it'll give me a better answer.
00:17:52.520 --> 00:17:52.720 Yeah.
00:17:53.980 --> 00:17:56.905 And then sometimes it just, it's like, OK, how about this and
00:17:56.905 --> 00:17:59.735 it's still wrong and I'm like, OK, I give up and he's gotta
00:17:59.735 --> 00:18:02.000 look free documentation or something, you know?
00:18:02.010 --> 00:18:06.901 But it's a very quick and convenient first step, you know,
00:18:06.901 --> 00:18:07.150 so.
00:18:13.800 --> 00:18:15.280 I quenchant you, PT.
00:18:15.290 --> 00:18:18.420 Uh sort of gives me the tools and it's like here.
00:18:18.500 --> 00:18:19.250 Here's what you need.
00:18:19.260 --> 00:18:20.230 Go figure it out, man.
00:18:21.490 --> 00:18:23.270 And just sort of like gives me half the answer.
00:18:30.030 --> 00:18:32.580 Does anyone use CAD to BTC or other?
00:18:33.520 --> 00:18:36.463 I know, I know, there are several other code completion
00:18:36.463 --> 00:18:39.721 tools, but to do code reviews yet, that's something else that
00:18:39.721 --> 00:18:41.140 I think we should consider.
00:18:42.220 --> 00:18:44.280 That's like one place where it shines, right?
00:18:44.290 --> 00:18:49.731 Like when you feed it something to review or like to synopsize
00:18:49.731 --> 00:18:54.913 or you know something like that is really where where these
00:18:54.913 --> 00:18:57.850 generation models shine, I think.
00:19:00.430 --> 00:19:00.950 Here beer.
00:19:00.590 --> 00:19:06.162 Uh, when I was working on that to build the process of having a
00:19:00.810 --> 00:19:01.440 I've a.
00:19:06.162 --> 00:19:11.385 service stack, not service pack, our Seth implementation be
00:19:11.385 --> 00:19:14.520 functional as part of code reviews.
00:19:15.120 --> 00:19:18.800 Uh, I got to a certain point and I had to stop because it because
00:19:18.800 --> 00:19:22.090 it was basically like I was having to give it every single
00:19:22.090 --> 00:19:25.603 file in CEF so that he had the context of what other functions
00:19:25.603 --> 00:19:27.890 meant and what and what they were doing.
00:19:28.520 --> 00:19:32.488 It was going to come to a point where I was like, OK, we need
00:19:32.488 --> 00:19:36.585 our own copy of this so that I can just feed it the entire code
00:19:36.585 --> 00:19:40.681 base at once and then from that have it do the code reviews for
00:19:40.681 --> 00:19:44.330 individual files that I would say like, this is going to
00:19:44.330 --> 00:19:47.914 replace this file and have it give me like the that the
00:19:47.914 --> 00:19:52.139 feedback that I would get it and they could it was able to to get
00:19:52.139 --> 00:19:56.171 it to spit out stuff like you're missing style Cop SAA 1613 or
00:19:56.171 --> 00:19:57.580 whatever on this line.
00:19:58.170 --> 00:20:01.297 And then I was able to like inform it that even though 1613
00:20:01.297 --> 00:20:04.060 is one, that's what I'm using it random number here.
00:20:04.610 --> 00:20:08.728 So even though 6013 is valid and everything, we would still allow
00:20:08.728 --> 00:20:12.159 it under this and this situation, and then it was able
00:20:12.159 --> 00:20:15.903 to determine that like for one of the two places inside the
00:20:15.903 --> 00:20:19.210 code like that one was OK and the other one was not.
00:20:19.710 --> 00:20:22.763 And so it it is definitely capable of of figuring that
00:20:22.763 --> 00:20:26.150 stuff out, but it's it's a lot of effort to stand it up in a
00:20:26.150 --> 00:20:28.760 point where it can actually do it effectively.
00:20:30.330 --> 00:20:34.100 We, James, we have the we have a llama too, instance.
00:20:35.870 --> 00:20:39.536 And some of the group is planning on, I don't think
00:20:39.536 --> 00:20:43.836 anyone started yet, but planning on executing on fine tuning
00:20:43.836 --> 00:20:48.137 training with our different applications using that internal
00:20:48.137 --> 00:20:52.155 instance of Lama two and obviously there are others that
00:20:52.155 --> 00:20:56.738 we could you know sort of have a battle with like we can do fine
00:20:56.738 --> 00:21:01.180 tuning with open AI as well of course incremental costs there.
00:21:01.190 --> 00:21:05.665 But I think it's relatively small still still I guess I
00:21:05.665 --> 00:21:10.461 would just say for folks that are really, really passionate
00:21:10.461 --> 00:21:15.096 about that and interested in that and please feel free to
00:21:15.096 --> 00:21:20.371 just ping me and all set up, you know sort of a set of milestones
00:21:20.371 --> 00:21:25.166 umm and objectives and get approval from our sea level team
00:21:25.166 --> 00:21:30.441 around how much budgeting we can do to allocate you know internal
00:21:30.441 --> 00:21:31.800 time toward that.
00:21:31.970 --> 00:21:34.672 And obviously, if you're really passionate about it, you may end
00:21:34.672 --> 00:21:37.000 up, you know, doing things some things on the side too.
00:21:37.010 --> 00:21:40.693 But if you're really interested in that and you wanna pour it on
00:21:40.693 --> 00:21:44.150 and sort of get up to speed on the fine tuning, training and
00:21:44.150 --> 00:21:47.606 code reviews with AI and just kind of having our own AI that
00:21:47.606 --> 00:21:49.760 we train, just send me a little ping.
00:21:49.770 --> 00:21:52.790 If you don't mind and I'll, I'll leave it at that and thank you.
00:21:58.320 --> 00:21:59.350 And team can get your hand up.
00:22:01.140 --> 00:22:05.310 Yeah, I had a a couple couple things.
00:22:05.320 --> 00:22:08.482 For GPT I was just gonna say that one of the useful things
00:22:08.482 --> 00:22:11.430 I'll use it for is and this is kind of a good example.
00:22:11.440 --> 00:22:16.074 For example, if you have like a super it specific type question
00:22:16.074 --> 00:22:17.450 like the other day.
00:22:19.560 --> 00:22:23.161 I needed to expand a partition in a VM, but the partitions were
00:22:23.161 --> 00:22:25.750 out of order so it wouldn't let me expand it.
00:22:25.800 --> 00:22:29.990 So to use a specific kind of tool to do so, but Ben was like.
00:22:30.820 --> 00:22:34.271 Uh, apparently this is not the issue we have even on our
00:22:34.271 --> 00:22:35.180 internal verbs.
00:22:35.190 --> 00:22:38.030 It's like, oh, well, I guess, I guess I gotta figure it out.
00:22:38.400 --> 00:22:38.980 Something like.
00:22:38.990 --> 00:22:41.500 That's a great tool, you know.
00:22:41.540 --> 00:22:45.075 Basically, even if it's something like, hey, you gotta
00:22:45.075 --> 00:22:48.996 respond to a client and maybe you think you worded something
00:22:48.996 --> 00:22:52.595 in a weird way, even saying like, hey, like, write this
00:22:52.595 --> 00:22:53.560 good, whatever.
00:22:53.570 --> 00:22:57.715 Like it has a lot of a lot of use cases that you might not be
00:22:53.820 --> 00:22:54.020 Yep.
00:22:57.715 --> 00:23:01.860 thinking of, so don't just limit it to code, but when it does
00:22:59.770 --> 00:23:00.400 Yep.
00:23:01.290 --> 00:23:01.560 Yeah.
00:23:01.570 --> 00:23:02.340 My big thing.
00:23:01.860 --> 00:23:02.730 come to code.
00:23:02.750 --> 00:23:03.300 Sorry, go ahead.
00:23:02.780 --> 00:23:07.073 Ohh yeah, got as the the one thing I will use it for coding
00:23:03.630 --> 00:23:04.150 No, I was gonna.
00:23:05.430 --> 00:23:05.770 They're good.
00:23:07.073 --> 00:23:11.224 for specifically is if I'm trying to like write some kind
00:23:11.224 --> 00:23:15.089 of umm algorithm that's like relatively fast or clean
00:23:15.089 --> 00:23:18.953 performance and it's not that often that I have to do
00:23:18.953 --> 00:23:23.175 something like that but when when I do it's sometimes it's
00:23:23.175 --> 00:23:27.827 good to just feed it a block and be like hey is there anything I
00:23:27.827 --> 00:23:31.978 can do here to improve the performance, readability list,
00:23:31.978 --> 00:23:36.701 blah blah blah and usually it'll it'll give you at least a couple
00:23:36.701 --> 00:23:37.560 suggestions.
00:23:37.660 --> 00:23:39.400 So that's all I was going to say.
00:23:38.780 --> 00:23:38.960 Yep.
00:23:38.930 --> 00:23:39.640 I kind of see it.
00:23:40.210 --> 00:23:42.953 I kind of see it as the same thing where it's, you know, it's
00:23:42.953 --> 00:23:44.060 another tool like Google.
00:23:44.590 --> 00:23:47.324 I tend to use it as a first resort to kind of get me started
00:23:47.324 --> 00:23:49.790 down the path of what I might be looking up on Google.
00:23:50.280 --> 00:23:53.290 Umm. And I find it's really decent.
00:23:50.380 --> 00:23:50.680 Umm.
00:23:53.300 --> 00:23:56.259 I know Austin use it the same way for us connect guys to
00:23:56.259 --> 00:23:58.700 actually learn how to navigate UIS of systems.
00:23:59.160 --> 00:24:01.410 Umm which is a weird use case, right?
00:24:01.420 --> 00:24:04.102 Not code related, but like how do I create an invoice inside
00:24:04.102 --> 00:24:04.410 Epicor?
00:24:04.420 --> 00:24:05.230 Something like that.
00:24:05.540 --> 00:24:07.260 It's actually not been too bad.
00:24:07.270 --> 00:24:07.860 It's things like that.
00:24:09.070 --> 00:24:10.080 Yeah, that's awesome.
00:24:10.510 --> 00:24:13.103 And yeah, like I said, my big thing with it is I I like I
00:24:10.630 --> 00:24:10.750 Yeah.
00:24:13.103 --> 00:24:15.340 said, I don't want anyone to take away that from.
00:24:15.350 --> 00:24:17.440 From what I said that I'm like Jet GPT.
00:24:17.450 --> 00:24:18.700 Bad no one use it.
00:24:19.030 --> 00:24:22.440 Obviously it's a fantastic tool and like David said, you should
00:24:22.440 --> 00:24:23.080 be using it.
00:24:23.490 --> 00:24:24.310 I think it's.
00:24:24.320 --> 00:24:25.980 I think it's purely advantageous.
00:24:26.150 --> 00:24:27.580 Just don't let it replace your brain.
00:24:27.690 --> 00:24:32.967 Let it let it fill your brain with good information instead of
00:24:32.967 --> 00:24:37.490 that information passing directly through your brain.
00:24:38.200 --> 00:24:39.850 Uh, without stopping?
00:24:40.540 --> 00:24:43.110 And then into VS code or whatever.
00:24:45.180 --> 00:24:46.970 So I think, yeah.
00:24:46.980 --> 00:24:47.590 But yeah, I've had.
00:24:47.600 --> 00:24:48.490 I've had good luck.
00:24:48.690 --> 00:24:51.830 I've been working on learning Vulcan in my free time.
00:24:51.840 --> 00:24:55.007 The graphics API just for for goose and I've had good luck
00:24:55.007 --> 00:24:58.228 asking it to explain like render passes and stuff like that
00:24:58.228 --> 00:25:01.395 because a lot of the articles you'll find to explain stuff
00:25:01.395 --> 00:25:04.831 like that, they assume that you know certain things and I don't
00:25:04.831 --> 00:25:07.730 know certain things because I'm just now learning it.
00:25:07.740 --> 00:25:09.590 So I'll ask it, what's a render pass?
00:25:09.600 --> 00:25:10.870 And then what explains stuff like?
00:25:10.880 --> 00:25:13.793 OK, what's the sub pass dependency do just keep asking
00:25:13.793 --> 00:25:16.970 it questions and drilling down because it will just you can
00:25:13.930 --> 00:25:14.550 Yeah, exactly.
00:25:16.970 --> 00:25:19.989 just ask it questions like it's a human and it'll answer
00:25:19.989 --> 00:25:22.320 questions like a human that's really smart.
00:25:22.330 --> 00:25:25.410 So it it's a fantastic tool for those things.
00:25:25.420 --> 00:25:29.840 So definitely, definitely encourage using it for sure.
00:25:31.690 --> 00:25:35.488 I think that's actually one of the most important things to
00:25:35.488 --> 00:25:39.034 point out is that unlike a human, it will sit there and
00:25:39.034 --> 00:25:41.630 answer follow up questions indefinitely.
00:25:42.220 --> 00:25:42.810 Yeah, it.
00:25:42.240 --> 00:25:45.070 So where exactly?
00:25:42.820 --> 00:25:43.940 And it won't get annoyed with you.
00:25:45.080 --> 00:25:48.168 So whereas you might not wanna ask a human like, what does this
00:25:48.168 --> 00:25:48.410 mean?
00:25:48.420 --> 00:25:49.270 But what does this mean?
00:25:49.280 --> 00:25:50.230 But what does this mean?
00:25:50.600 --> 00:25:54.408 You can do that to chat GPT and you honestly should like if it
00:25:54.408 --> 00:25:58.096 spits something out regardless of what the subject matter is
00:25:58.096 --> 00:26:01.783 and you don't and you don't know what it is doing or what it
00:26:01.783 --> 00:26:02.630 means, ask it.
00:26:02.640 --> 00:26:06.185 It will usually explain it pretty well, whether that's code
00:26:06.185 --> 00:26:09.789 or just, you know, any general technology or whatever thing,
00:26:09.789 --> 00:26:13.630 it'll usually have that context built in, because otherwise, how
00:26:13.630 --> 00:26:16.230 could it give you the answer to begin with?
00:26:16.460 --> 00:26:20.610 Usually it needs that context to be able to spit it out, so yeah.
00:26:26.100 --> 00:26:29.505 Also don't know about you guys, but in my brain chat GPT is a
00:26:29.505 --> 00:26:33.075 dude named Chad whose last name starts with G and I'm not really
00:26:33.075 --> 00:26:36.590 sure how to spell GPT as like a as a name, but his name is Chad
00:26:36.590 --> 00:26:36.810 GPT.
00:26:37.500 --> 00:26:38.920 Maybe that's his last three initials.
00:26:38.930 --> 00:26:40.420 Chad, GPT me.
00:26:42.980 --> 00:26:46.997 So just you know, you just my homie Chad, go ask him some
00:26:46.650 --> 00:26:47.700 Chad gets playtime.
00:26:46.997 --> 00:26:50.600 quick who asked Chad a couple questions real quick.
00:26:55.200 --> 00:26:57.210 Anyway, that's all I have.
00:26:58.470 --> 00:27:00.240 I don't know if anybody else has anything.
00:27:00.330 --> 00:27:02.698 I don't know that we have anything specific to train on
00:27:02.698 --> 00:27:03.460 today to be clear.
00:27:03.520 --> 00:27:03.860 Uh.
00:27:03.870 --> 00:27:07.126 So if anybody has anything they wanna, if anyone has anything
00:27:05.790 --> 00:27:06.370 We don't.
00:27:07.126 --> 00:27:10.067 they want to see, I don't know if the connect guys said
00:27:10.067 --> 00:27:10.540 anything.
00:27:10.550 --> 00:27:14.621 They want to split out or front end or anything back in wise I
00:27:14.621 --> 00:27:17.530 don't have anything specific to to dig into.
00:27:17.540 --> 00:27:19.110 Besides what I've already talked about. So.
00:27:20.110 --> 00:27:23.094 Do the do the Kinect guys have anything for the CEF people to
00:27:23.094 --> 00:27:24.490 help explain or work through?
00:27:25.450 --> 00:27:26.400 Yeah, we're present.
00:27:26.410 --> 00:27:26.770 We're here.
00:27:27.250 --> 00:27:28.180 Yeah, they got nothing on.
00:27:31.320 --> 00:27:33.398 Enough all the errors got resolved in your projects Jim or
00:27:33.398 --> 00:27:33.680 not but.
00:27:37.630 --> 00:27:41.388 The since uh, I specifically dealt with this problem with
00:27:41.388 --> 00:27:42.360 repro recently.
00:27:43.580 --> 00:27:45.580 Uh service stack.
00:27:46.190 --> 00:27:46.400 Umm.
00:27:46.480 --> 00:27:51.420 Is there a feasible way for a connect guy to debug and fix a
00:27:51.420 --> 00:27:53.040 service stack issue?
00:27:54.180 --> 00:27:55.590 And find a service deck issue.
00:27:55.860 --> 00:27:59.112 I think he's he's talking about the stack overflow crash, so the
00:27:56.190 --> 00:27:56.440 Uh.
00:27:59.112 --> 00:28:02.265 short answer to that is it's a complicated issue to fix, which
00:28:02.265 --> 00:28:05.468 is usually why it winds up being James or me doing office hours
00:28:05.468 --> 00:28:07.320 or or just getting a task to fix it.
00:28:08.590 --> 00:28:12.448 So the short the, the, the quick and dirty explanation of what
00:28:12.448 --> 00:28:15.940 happens with that error specifically is it's related to.
00:28:16.150 --> 00:28:19.118 There are two main things that cause that issue, or two main
00:28:19.118 --> 00:28:19.800 factors of it.
00:28:19.810 --> 00:28:24.166 I guess the first is the way that our models are
00:28:24.166 --> 00:28:25.500 interconnected.
00:28:25.510 --> 00:28:29.248 So for example, user model references store user models,
00:28:29.248 --> 00:28:33.248 store user model references, store store references, account
00:28:33.248 --> 00:28:36.987 account references, franchise account, franchise account
00:28:36.987 --> 00:28:38.430 references, franchise.
00:28:38.680 --> 00:28:42.470 You can sort of follow that tree down right in and of itself.
00:28:42.480 --> 00:28:43.090 That is fine.
00:28:43.100 --> 00:28:43.640 That's benign.
00:28:43.650 --> 00:28:44.580 There's nothing wrong with that.
00:28:45.210 --> 00:28:49.070 Umm, the problem is that combined with the way service
00:28:49.070 --> 00:28:52.579 stacks built-in JSON Deserializer works, which is
00:28:52.579 --> 00:28:56.930 when it encounters a type for the first time, it checks every
00:28:56.930 --> 00:29:01.142 member on that type and then steps into it passes that into
00:29:01.142 --> 00:29:05.282 the same analyzer, which then goes through every member on
00:29:05.282 --> 00:29:09.564 that type into the same analyzer and basically just recurses
00:29:09.564 --> 00:29:13.845 depth 1st through every possible relationship of those types
00:29:13.845 --> 00:29:15.600 until it stack overflows.
00:29:16.290 --> 00:29:20.360 Umm and yeah.
00:29:17.300 --> 00:29:21.661 Yeah, it it does a recursive check on everything, so it it
00:29:21.661 --> 00:29:26.539 tries to to build the a cache in memory of every type that it can
00:29:26.539 --> 00:29:30.604 run into through that stuff so that it can effectively
00:29:30.604 --> 00:29:32.970 recognize it and deserialize it.
00:29:33.320 --> 00:29:36.764 But since we have such a huge system with so many different
00:29:36.764 --> 00:29:40.266 models, there's over 450 tables at this point and there's so
00:29:40.266 --> 00:29:43.768 much interconnectivity between those models, it can run into
00:29:43.768 --> 00:29:47.270 cases where it's now jumping past the point where it's going
00:29:47.270 --> 00:29:50.370 to hit the stack limit, depending on what the box is.
00:29:50.380 --> 00:29:53.964 Resources are so, and that's also why sometimes you'll see
00:29:51.630 --> 00:29:51.830 Yep.
00:29:53.964 --> 00:29:57.487 this error like it doesn't happen on your local, but then
00:29:57.487 --> 00:29:59.310 it happened on Seth stage two.
00:29:59.540 --> 00:30:02.363 It's because there's different resource allocation to those
00:30:02.363 --> 00:30:05.140 boxes, and so therefore the stack size is different and it
00:30:05.140 --> 00:30:06.270 will run into the issue.
00:30:07.190 --> 00:30:10.565 Umm, the only real clean way to do that is to literally
00:30:10.565 --> 00:30:14.363 investigate and and pull up the entire stack that it would run
00:30:14.363 --> 00:30:15.810 into when it overflowed.
00:30:23.480 --> 00:30:23.660 Yep.
00:30:23.720 --> 00:30:26.640 Of the tree so that it can stop analyzing.
00:30:27.370 --> 00:30:30.797 Umm common cases where I've done that in the past and it and this
00:30:30.797 --> 00:30:31.940 has happened overtime.
00:30:31.950 --> 00:30:36.236 So this is, I mean, I've been here for almost 10 years, so
00:30:36.236 --> 00:30:40.086 it's happened, you know, a couple of times a year to
00:30:40.086 --> 00:30:44.518 different projects over time would be like the uh, go to the
00:30:44.518 --> 00:30:48.877 store model and remove these store inventory locations list
00:30:48.877 --> 00:30:53.235 because there's very few cases where we would actually need
00:30:53.235 --> 00:30:57.740 that associations collection to be on the store model itself.
00:30:57.850 --> 00:31:01.570 And by breaking it right there, it's no longer going from store
00:31:01.570 --> 00:31:05.058 to inventory location to, I'm sorry, it would be going from
00:31:05.058 --> 00:31:08.489 store to inventory location to location section to product
00:31:08.489 --> 00:31:11.977 which then goes to everything that possible disconnected to
00:31:11.977 --> 00:31:14.070 you, which is virtually everything.
00:31:14.320 --> 00:31:18.377 So by breaking it apart right there, we're we're cutting a
00:31:18.377 --> 00:31:20.510 whole slew of things out of it.
00:31:21.040 --> 00:31:24.578 Umm, in the next version of CEF, we're gonna look at dropping a
00:31:24.578 --> 00:31:27.729 bunch of schema that no one has used in years to try and
00:31:27.729 --> 00:31:30.991 alleviate some of that issue just because it has gotten so
00:31:30.991 --> 00:31:32.650 big and has gotten really bad.
00:31:33.330 --> 00:31:37.978 And in that particular case, so I'm and I see that the we're
00:31:37.978 --> 00:31:39.960 doing a release right now.
00:31:40.180 --> 00:31:43.953 That's gonna be 2023.3 umm that ones not going to have the
00:31:43.953 --> 00:31:46.320 schema drop the one after that will.
00:31:47.800 --> 00:31:51.337 You know, and that schema drop should actually have quite a few
00:31:51.337 --> 00:31:53.770 positive impacts in terms of startup times.
00:31:53.780 --> 00:31:56.132 We're loading a lot less endpoints and stuff like admin
00:31:56.132 --> 00:31:56.930 and uh connect API.
00:31:58.100 --> 00:32:01.034 Umm, the general code size should be quite a bit smaller,
00:31:58.790 --> 00:31:58.990 Yeah.
00:32:01.034 --> 00:32:03.918 so hopefully build a little bit faster as well, and then
00:32:03.918 --> 00:32:07.055 obviously hopefully we'll see reduced instances of this issue
00:32:07.055 --> 00:32:07.460 arising.
00:32:08.280 --> 00:32:08.770 Umm.
00:32:09.380 --> 00:32:15.459 And for anyone that uh, that is uh, who has worked with me on
00:32:15.459 --> 00:32:15.950 this.
00:32:16.720 --> 00:32:18.850 Ms Heard me rant about this.
00:32:19.060 --> 00:32:23.908 Yes, I realize or I I agree with what most of you are probably
00:32:23.908 --> 00:32:28.526 thinking that a depth first search of all possible types to
00:32:28.526 --> 00:32:31.990 encounter in a deserializer is pretty silly.
00:32:32.690 --> 00:32:37.060 Umm, but uh, like I said, that's not our code.
00:32:35.830 --> 00:32:36.110 It.
00:32:37.070 --> 00:32:38.330 That's service stacks code.
00:32:38.340 --> 00:32:40.090 There's we have.
00:32:38.500 --> 00:32:43.522 Yeah, they they design service stack with the idea that every
00:32:43.522 --> 00:32:48.544 DTO was going to be a siloed model just for that one endpoint
00:32:48.544 --> 00:32:49.030 to do.
00:32:49.040 --> 00:32:52.476 The one thing that it was going to do, they didn't really
00:32:52.476 --> 00:32:56.268 envision that we were gonna have one huge interconnected system
00:32:56.268 --> 00:32:57.690 of models to go through.
00:32:57.700 --> 00:33:00.397 So it's we're doing something that's technically not with
00:33:00.397 --> 00:33:00.770 service.
00:33:00.780 --> 00:33:03.860 Tech was meant to do umm, which is one of the reasons we run
00:33:02.380 --> 00:33:03.370 Yeah, and.
00:33:03.860 --> 00:33:04.770 into this problem.
00:33:05.710 --> 00:33:09.532 Theoretically, as a service stack does provide ways to hook
00:33:09.532 --> 00:33:13.226 into the serialization and deserialization process, and I
00:33:13.226 --> 00:33:17.240 have experimented with switching it to use newtonsoft instead.
00:33:17.510 --> 00:33:22.404 The problem is that a lot of our front end code admin code,
00:33:22.404 --> 00:33:27.298 probably even the CEF connector you guys use has been built
00:33:27.298 --> 00:33:32.437 unknowingly with the assumption that it functions the way that
00:33:32.437 --> 00:33:33.090 it does.
00:33:33.100 --> 00:33:36.660 The service tax serializer does certain special things, umm.
00:33:37.040 --> 00:33:38.260 And as a result.
00:33:40.400 --> 00:33:44.060 Making that change broke a ton of stuff.
00:33:45.230 --> 00:33:46.520 And uh.
00:33:46.530 --> 00:33:49.847 So effectively it's theoretically possible to make
00:33:49.847 --> 00:33:53.555 that change, but it would require a lot of time going in
00:33:53.555 --> 00:33:57.392 and finding stuff that it breaks, and it's not immediately
00:33:57.392 --> 00:34:00.710 apparent what does break when that change is made.
00:34:00.720 --> 00:34:04.006 So it's sort of, it's sort of like fixing one problem and
00:34:04.006 --> 00:34:07.690 leaving ourselves 700 small land mines to find over the next six
00:34:07.690 --> 00:34:11.090 months to a year as we roll that out on different projects.
00:34:11.100 --> 00:34:13.060 So that's why we haven't gone that direction.
00:34:11.880 --> 00:34:14.050 What's the plan with Venus?
00:34:15.020 --> 00:34:15.500 Where this?
00:34:15.160 --> 00:34:16.970 So for, yeah, great question.
00:34:17.120 --> 00:34:21.050 Phoenix is not using service stack Umm as of now.
00:34:20.730 --> 00:34:22.710 Just making sure all the CONNECT team members heard that.
00:34:23.210 --> 00:34:24.220 Yeah, yeah.
00:34:24.270 --> 00:34:26.370 Phoenix is not using service stack as of now.
00:34:26.380 --> 00:34:31.388 We're not using any like service level middleware, we're just
00:34:31.388 --> 00:34:35.670 using ASP .net controllers directly or minimal APIs.
00:34:37.440 --> 00:34:42.951 So and you know, just to just so everyone's on the same page with
00:34:42.951 --> 00:34:43.870 that, yeah.
00:34:44.160 --> 00:34:45.710 And it's all it's it's.
00:34:45.760 --> 00:34:48.220 It's all SJ, not newtonsoft as well.
00:34:48.670 --> 00:34:49.310 Yeah, yeah.
00:34:49.310 --> 00:34:50.640 And there was much rejoicing.
00:34:50.850 --> 00:34:52.190 Thank you very much for answering the question.
00:34:52.770 --> 00:34:53.330 Yep.
00:34:53.570 --> 00:34:56.311 Brendan, is there any way for us to view the Phoenix source and
00:34:56.311 --> 00:34:57.810 or contribute if you want to help?
00:34:58.590 --> 00:35:04.341 Uh, yes, there is a project on Azure that I would have to add
00:35:04.341 --> 00:35:10.000 you to and at the moment the code base is very much in flux.
00:35:10.350 --> 00:35:11.910 Obviously it's very early in development.
00:35:10.360 --> 00:35:10.510 Sure.
00:35:12.250 --> 00:35:16.619 So I would say that if you're interested in giving it a look,
00:35:16.619 --> 00:35:21.130 umm, let me know I can add you to the project, but before doing
00:35:21.130 --> 00:35:25.289 any like pushing or anything, just make sure that you, you
00:35:25.289 --> 00:35:29.588 know like have a conversation with with like me and Eric and
00:35:29.588 --> 00:35:33.676 we can make sure that the change that you want to make or
00:35:33.676 --> 00:35:38.046 whatever you wanna see is in line with what we're planning on
00:35:38.046 --> 00:35:41.500 and fits with the road map and things like that.
00:35:41.730 --> 00:35:45.780 But I am all for getting more people to see it.
00:35:46.570 --> 00:35:49.139 I'm actually planning on hopefully soon doing a training
00:35:49.139 --> 00:35:51.933 to go over the source code, at least in its current state, to
00:35:51.933 --> 00:35:54.728 get everyone familiar with what it looks like and some of the
00:35:54.550 --> 00:35:57.510 Our I'll add on to that answer as well.
00:35:54.728 --> 00:35:55.810 core concepts and stuff.
00:35:56.090 --> 00:35:58.620 Would it be horrible to make it like read only?
00:35:59.170 --> 00:36:00.520 Ohh go for it whether sorry.
00:36:00.590 --> 00:36:02.060 No, I mean, yeah, I think that's fine.
00:36:02.410 --> 00:36:05.546 I mean, ultimately I think we have PR approval processes in
00:36:05.546 --> 00:36:05.860 place.
00:36:05.720 --> 00:36:06.000 Right.
00:36:05.870 --> 00:36:07.470 So do what you want.
00:36:06.790 --> 00:36:06.960 Yeah.
00:36:07.550 --> 00:36:11.240 If you want to, absolutely, but if you're interested, you know
00:36:11.240 --> 00:36:14.578 we can take a look at what that looks like to get people
00:36:14.578 --> 00:36:16.980 involved and get tickets in and whatnot.
00:36:16.990 --> 00:36:18.590 We do have kind of a plan moving forward.
00:36:18.600 --> 00:36:21.995 It was kind of open on Brendan and James there for a while, but
00:36:21.995 --> 00:36:23.640 we are putting a plan together.
00:36:23.650 --> 00:36:27.933 So you know we're we're definitely open to ideas and
00:36:27.933 --> 00:36:28.580 whatnot.
00:36:28.940 --> 00:36:31.562 However, we're we're trying to push forward and get some
00:36:31.290 --> 00:36:31.470 Yeah.
00:36:31.562 --> 00:36:34.598 implementation and so definitely feel, feel free to reach out and
00:36:34.598 --> 00:36:37.496 say, hey, I wanna get involved where I can and we can look and
00:36:37.496 --> 00:36:40.486 see, you know, what tasks might be good to get over to you, what
00:36:40.486 --> 00:36:42.970 kind of allocation can we provide to you and whatnot.
00:36:42.980 --> 00:36:46.502 So feel free to reach out and we'll kind of we'll take a look
00:36:46.502 --> 00:36:48.320 at that in the plan for Phoenix.
00:36:47.270 --> 00:36:47.680 Yeah.
00:36:47.730 --> 00:36:52.568 And and just to sow, everyone's aware it's got about 5% of what
00:36:52.568 --> 00:36:54.610 main Seth can do right now.
00:36:54.700 --> 00:36:55.270 That's it.
00:36:55.130 --> 00:36:56.370 Yeah, yeah, the.
00:36:55.330 --> 00:36:55.580 Umm.
00:36:55.420 --> 00:36:55.640 Yep.
00:36:55.540 --> 00:36:58.117 So it's it's not like something you could just pick up and go
00:36:58.117 --> 00:36:58.990 use it for a project.
00:36:59.130 --> 00:36:59.490 Right.
00:36:59.150 --> 00:36:59.880 Yeah, it is.
00:36:59.200 --> 00:37:01.500 There's not even an ecommerce system in it yet.
00:36:59.890 --> 00:37:02.390 It is not correct.
00:37:02.400 --> 00:37:04.170 It is not production ready yet.
00:37:04.860 --> 00:37:07.890 The majority of what's been built is basically the
00:37:07.890 --> 00:37:11.277 underlying kind of structures and systems, so it has the
00:37:11.277 --> 00:37:13.120 ability to do database interop.
00:37:13.130 --> 00:37:16.310 It has the ability to schedule tasks and add background tasks.
00:37:16.320 --> 00:37:19.028 It has the ability for extensible pipelines and all
00:37:19.028 --> 00:37:22.205 these different systems that have been built into it, but we
00:37:22.205 --> 00:37:25.435 haven't built functionality on top of those systems, at least
00:37:25.435 --> 00:37:27.310 not not a significant amount of it.
00:37:27.320 --> 00:37:28.930 Yet umm so.
00:37:28.130 --> 00:37:28.600 Yeah.
00:37:28.670 --> 00:37:31.359 Yeah, I'm just thinking in terms of like if we're tracking what
00:37:31.359 --> 00:37:33.922 tasks or issues we have out there, people could just jump in
00:37:33.922 --> 00:37:36.570 with the labor of love and try to assist and get it across the
00:37:36.570 --> 00:37:36.780 line.
00:37:36.790 --> 00:37:39.629 I know the the connect guys would be eager to see something
00:37:39.629 --> 00:37:41.380 come out as a modern replacement so.
00:37:39.990 --> 00:37:40.170 Yeah.
00:37:41.960 --> 00:37:42.290 Yeah.
00:37:42.340 --> 00:37:47.415 And you all know that, uh, at least maybe now you'll know that
00:37:47.415 --> 00:37:52.571 my my evil world domination plan is that the core of Phoenix is
00:37:52.571 --> 00:37:55.150 shared between self and connect.
00:37:55.240 --> 00:37:58.807 That doesn't necessarily mean that Stephen Connect live in the
00:37:58.807 --> 00:38:00.450 same like repo for a project.
00:38:00.460 --> 00:38:04.924 It just means that the core brain of C5 or C6 or whatever
00:38:04.924 --> 00:38:09.695 version it would be is Phoenix and then Phoenix has a connect
00:38:09.695 --> 00:38:13.390 plugin which would have that sits on top of it.
00:38:13.540 --> 00:38:16.924 Your ERP plugins and the common model that comes with those and
00:38:16.924 --> 00:38:20.202 pipelines built into that for switching, moving in and out of
00:38:20.202 --> 00:38:20.890 common model.
00:38:20.900 --> 00:38:24.545 So that customizations for a client attached to that pipeline
00:38:24.545 --> 00:38:27.720 on that project, UM, and you know that kind of thing.
00:38:27.770 --> 00:38:31.587 So that's my, that's my a world domination goal is we share the
00:38:31.587 --> 00:38:35.106 same core code base and bug fixes that you guys do in core
00:38:35.106 --> 00:38:38.924 are the same for us over on the dev side and vice versa kind of
00:38:38.924 --> 00:38:42.264 getting rid of a little bit of that silo where it's two
00:38:42.264 --> 00:38:46.022 different, two different teams that that only intermingle when
00:38:46.022 --> 00:38:49.780 our projects are we're working on the same project and outside
00:38:49.780 --> 00:38:53.240 of that we just don't touch each other's code whatsoever.
00:38:54.260 --> 00:38:55.450 Umm I wanna.
00:38:55.680 --> 00:38:58.840 It would be great to get past that point and just have back
00:38:58.840 --> 00:39:02.000 end developers that are, you know, regardless of what side.
00:39:02.060 --> 00:39:05.485 So anyway, Jonathan has had his hand up for a while now, and
00:39:05.485 --> 00:39:07.170 I've just been monologuing so.
00:39:13.120 --> 00:39:14.710 JU our hardware muted if you're talking.
00:39:13.170 --> 00:39:13.970 And you might be muted.
00:39:16.210 --> 00:39:20.075 Costs are were muted, so on service textualization in
00:39:20.075 --> 00:39:23.940 connect we don't touch any service tax serialization.
00:39:24.710 --> 00:39:27.593 I know it does not work properly at all if we don't use
00:39:27.593 --> 00:39:28.520 newtonsoft, Jason.
00:39:29.050 --> 00:39:30.850 But right now we don't.
00:39:31.090 --> 00:39:34.200 Or we definitely don't include any service sexualization stuff.
00:39:33.670 --> 00:39:34.810 Sure. Yeah.
00:39:34.530 --> 00:39:39.400 So I was wondering, I guess does that mean there's stuff that's
00:39:39.400 --> 00:39:44.195 waiting lurking out there for connect to hits that's not going
00:39:43.660 --> 00:39:48.850 So it's so the short answer to that is no.
00:39:44.195 --> 00:39:45.870 to serialize properly?
00:39:49.000 --> 00:39:52.250 What I meant by by service Stack does certain special things.
00:39:52.640 --> 00:39:56.990 Is it has certain special handling for.
00:39:57.540 --> 00:40:02.560 For example, if you have a non nullable int on a.
00:40:05.160 --> 00:40:06.770 Excuse me on a model.
00:40:07.440 --> 00:40:08.890 So let's say a type ID.
00:40:09.540 --> 00:40:13.537 Because this is a real example, service stack will accept you
00:40:13.537 --> 00:40:17.341 sending null explicitly null for that property and it will
00:40:17.341 --> 00:40:21.533 instead of assigning null to an int because it can't do that, it
00:40:21.533 --> 00:40:24.370 will assign the default value of that type.
00:40:24.480 --> 00:40:26.390 So in the case of an end, it would assign 0.
00:40:26.640 --> 00:40:31.490 If you do that with newtonsoft it will throw an exception so.
00:40:28.980 --> 00:40:29.370 Yuck.
00:40:30.380 --> 00:40:33.180 OK, so it is just a issue of the Frederick Code then.
00:40:34.010 --> 00:40:34.700 Sort of.
00:40:35.210 --> 00:40:37.915 The and I think in terms of connect you guys are using the
00:40:35.670 --> 00:40:35.920 Ohh.
00:40:37.915 --> 00:40:40.850 same model, so you wouldn't be able to send null for stuff like
00:40:40.850 --> 00:40:41.080 that.
00:40:41.310 --> 00:40:43.936 But I don't know if there's other assumptions that have been
00:40:41.470 --> 00:40:41.590 Yeah.
00:40:43.936 --> 00:40:45.400 made that we didn't even realize.
00:40:45.410 --> 00:40:48.341 Service stack Serializer was silently handling those cases
00:40:48.341 --> 00:40:51.472 for us, and if we switched it, wouldn't you know, I don't know
00:40:50.630 --> 00:40:50.780 You.
00:40:51.300 --> 00:40:55.336 Well, I would think that if we're using newtonsoft, Jason to
00:40:51.472 --> 00:40:53.410 if there are any situations like that.
00:40:55.336 --> 00:40:59.306 serialize it, then newtonsoft Jason for Deserializing would
00:40:59.306 --> 00:41:00.630 give the same thing.
00:41:01.090 --> 00:41:02.400 Yeah, I would agree with that.
00:41:02.730 --> 00:41:04.050 I just brought it up because I don't.
00:41:03.010 --> 00:41:04.170 Ohh but think I guess.
00:41:04.060 --> 00:41:04.940 I don't, I don't know.
00:41:04.950 --> 00:41:05.380 But yeah.
00:41:05.390 --> 00:41:08.983 Anyway, umm, that was only reason I mentioned that, but
00:41:08.983 --> 00:41:12.704 yeah, so I'm happy to hear people wanna get more involved
00:41:12.704 --> 00:41:13.410 in Phoenix.
00:41:13.800 --> 00:41:14.270 I would.
00:41:14.280 --> 00:41:19.516 I would love to get more eyes on it, but yeah, like I said, we do
00:41:19.516 --> 00:41:22.690 have a road map and I'm hoping to show.
00:41:21.800 --> 00:41:25.306 But it would you be able to just do the group settings and you
00:41:25.306 --> 00:41:28.590 may have already said yes to this just so it just everyone
00:41:28.590 --> 00:41:31.540 can see it and that way it's not, that'd be awesome.
00:41:29.560 --> 00:41:30.070 Oh, yeah.
00:41:30.080 --> 00:41:33.210 Yeah, like I said, I'm I am planning on.
00:41:34.220 --> 00:41:38.563 I don't know when I'll have time to, but I want to do like a deep
00:41:38.563 --> 00:41:42.511 dive into the code base for a Friday training with the full
00:41:42.511 --> 00:41:46.393 back end, team connect and CEF just to basically like I've
00:41:46.393 --> 00:41:50.275 introduced everybody in the fireside chats to the concepts
00:41:50.275 --> 00:41:53.500 of Phoenix pipelines and all that kind of stuff.
00:41:53.850 --> 00:41:57.489 But I wanna get into it like a really deep tech dive on how
00:41:57.489 --> 00:42:00.947 pipelines are implemented and what using them looks like
00:42:00.947 --> 00:42:04.829 actually in the code and solicit some feedback on maybe ways to
00:42:04.829 --> 00:42:08.590 improve it along with showing off all the other features that
00:42:08.590 --> 00:42:12.290 have been implemented and just sort of maybe looking at what
00:42:12.290 --> 00:42:15.930 would a hypothetical data day project in Phoenix look like.
00:42:16.290 --> 00:42:19.592 And then again, just getting feedback on on what that looks
00:42:19.592 --> 00:42:22.400 like as it stands and uh, iterating from there so.
00:42:23.720 --> 00:42:24.000 Awesome.
00:42:34.480 --> 00:42:34.690 Cool.
00:42:35.990 --> 00:42:42.600 Uh, though I got any other set of questions from connect folks.
00:42:43.310 --> 00:42:46.280 Any other now is also a good time.
00:42:46.290 --> 00:42:50.455 Like I mentioned earlier, if there are recurring headaches,
00:42:50.455 --> 00:42:54.759 specific issues you guys have come across that umm, you know,
00:42:54.759 --> 00:42:58.924 especially if it's been across multiple releases that maybe
00:42:58.924 --> 00:43:03.228 it's just fall in between the seat and the center console and
00:43:03.228 --> 00:43:05.450 the in the Jeep that is clarity.
00:43:07.320 --> 00:43:09.470 That black hole by the seat belt that everything goes into.
00:43:07.440 --> 00:43:10.960 Uh, yeah, yeah.
00:43:09.480 --> 00:43:10.000 Yeah. Exactly.
00:43:10.890 --> 00:43:11.700 Umm, I know.
00:43:11.050 --> 00:43:13.400 So if anybody has anything like that, definitely call it out.
00:43:13.410 --> 00:43:13.990 Now is a good time.
00:43:14.950 --> 00:43:17.135 Yeah, I know there's a few things that we've we've kind of
00:43:17.135 --> 00:43:19.580 run into with connect that would make a life a little bit easier.
00:43:19.650 --> 00:43:22.812 I don't know if we're ready to discuss them on this call or if
00:43:22.812 --> 00:43:25.472 if it's worthwhile to do it here, but thinking about
00:43:25.472 --> 00:43:28.082 creating some endpoints for Kinect or maybe pay hub
00:43:28.082 --> 00:43:31.195 specifically some of the big pain points would be like target
00:43:31.195 --> 00:43:33.955 order shipping trying to consolidate those down, maybe
00:43:33.955 --> 00:43:36.917 flatten it down into a single invoice or something because
00:43:36.917 --> 00:43:40.079 most Erps don't support that and things like that like I think
00:43:40.079 --> 00:43:43.242 trying to find the account that made a payment, you have to go
00:43:41.550 --> 00:43:41.850 So.
00:43:43.242 --> 00:43:45.300 through like 4 tables or something. Umm.
00:43:44.680 --> 00:43:45.200 Yeah.
00:43:45.210 --> 00:43:48.416 So basically you're you're you're thinking like some
00:43:48.416 --> 00:43:51.925 convenience endpoints that reduce the number of times you
00:43:50.420 --> 00:43:50.700 Yep.
00:43:51.925 --> 00:43:54.890 have to hit the API for for certain information.
00:43:55.270 --> 00:43:56.130 Exactly. Yep.
00:43:56.810 --> 00:43:57.300 Perfect.
00:43:57.310 --> 00:43:59.120 Yeah, that's that's fantastic.
00:43:59.130 --> 00:44:02.791 And those are good examples, but and looks like Austin just sent
00:44:02.791 --> 00:44:04.820 a good example in the chat as well.
00:44:05.030 --> 00:44:07.965 Anything you guys come across like that where you're like,
00:44:07.965 --> 00:44:11.049 yeah, if I need to get XYZ, I have to send a request for this
00:44:11.049 --> 00:44:14.034 and then I have to use part of the response to make another
00:44:14.034 --> 00:44:16.820 query or I have to write raw SQL to query the database.
00:44:16.830 --> 00:44:19.263 So I have to use entity framework pointed at this
00:44:19.263 --> 00:44:21.940 database to make that query and it's not maintainable.
00:44:21.950 --> 00:44:24.298 It's not, you know, I have to copy paste that between
00:44:24.298 --> 00:44:24.690 projects.
00:44:24.700 --> 00:44:28.826 Whatever it is, please let us know, especially if it's like if
00:44:25.160 --> 00:44:25.390 Umm.
00:44:28.826 --> 00:44:33.084 you can like literally just send me Eric, Uhm, uh, James, any of
00:44:33.084 --> 00:44:37.015 us the like a physical, just copy of the code that you have
00:44:37.015 --> 00:44:41.076 that's doing that of like the network calls you're making the
00:44:41.076 --> 00:44:43.500 raw SQL, the entity framework query.
00:44:42.050 --> 00:44:42.310 Umm.
00:44:43.790 --> 00:44:47.162 If it's entity framework query, we can just copy paste that into
00:44:46.400 --> 00:44:46.900 Dump it in.
00:44:47.162 --> 00:44:50.378 SIFF and then expose it to an API endpoint for connect to hit
00:44:50.378 --> 00:44:51.520 and you're good to go.
00:44:51.790 --> 00:44:54.869 If it's raw SQL, then we can easily translate that to any
00:44:54.869 --> 00:44:55.400 framework.
00:44:55.520 --> 00:44:58.167 If it's network calls, we can dig into what those calls are
00:44:58.167 --> 00:45:00.903 doing internally and then turn that into some more simplified
00:45:00.903 --> 00:45:01.300 whatever.
00:45:01.950 --> 00:45:04.725 But at the end of the day, you know, if you guys have pain
00:45:04.725 --> 00:45:07.783 points like that, yeah, this is this is a perfect example of the
00:45:07.783 --> 00:45:10.370 kind of stuff that I would love to hear because we can
00:45:10.370 --> 00:45:11.970 definitely make this much easier.
00:45:14.420 --> 00:45:14.770 OK.
00:45:14.820 --> 00:45:15.110 Yeah.
00:45:15.120 --> 00:45:15.450 Nice.
00:45:15.520 --> 00:45:16.520 We'll definitely get those over to you.
00:45:16.320 --> 00:45:18.750 Uh, yeah, we could.
00:45:18.760 --> 00:45:19.780 We could take all that stuff in.
00:45:19.850 --> 00:45:24.162 I also wanted to iterate slightly that the we can make
00:45:24.162 --> 00:45:24.790 changes.
00:45:24.800 --> 00:45:27.855 We can't make convenience at points, but we cannot
00:45:27.855 --> 00:45:31.031 fundamentally change the architecture of stuff of we
00:45:29.650 --> 00:45:30.040 Yep.
00:45:30.080 --> 00:45:31.950 And that's why I think the the convenience endpoints be a
00:45:31.031 --> 00:45:31.750 can't, yeah.
00:45:31.950 --> 00:45:32.370 better route.
00:45:33.060 --> 00:45:33.260 Yep.
00:45:34.010 --> 00:45:36.812 Yeah, because it should be really easy to just make a
00:45:36.812 --> 00:45:40.082 handful of endpoints that get you the targeted information you
00:45:40.082 --> 00:45:43.092 need faster than if you have to query for it with several
00:45:41.100 --> 00:45:41.280 Yep.
00:45:43.092 --> 00:45:44.130 different endpoints.
00:45:45.620 --> 00:45:49.095 Can we work on that here or does it make sense to get a working
00:45:49.095 --> 00:45:49.530 session?
00:45:49.540 --> 00:45:52.200 Cause I think that's like immediate value.
00:45:50.540 --> 00:45:51.560 I mean, I'm fine with.
00:45:52.980 --> 00:45:56.180 Yeah, I don't think pull up Visual Studio right now.
00:45:54.570 --> 00:45:55.890 Very happy.
00:45:56.190 --> 00:45:58.959 If you have a good example of a you know Jeremy or Austin,
00:45:56.260 --> 00:45:58.130 Yeah. Thanks.
00:45:58.959 --> 00:46:00.320 something you guys have that.
00:46:00.510 --> 00:46:03.080 Just do Austin's one that he just pasted.
00:46:03.210 --> 00:46:04.920 Start with that one and then the CONNECT team.
00:46:04.930 --> 00:46:06.906 If you guys want to go through your projects and see any
00:46:06.906 --> 00:46:09.022 queries that you're making that we can bring in here that be
00:46:09.022 --> 00:46:09.230 great.
00:46:10.350 --> 00:46:10.780 Cool.
00:46:10.950 --> 00:46:15.339 Alright, I will open Visual Studio real quick and share my
00:46:15.339 --> 00:46:18.390 screen and we can get that into develop.
00:46:18.400 --> 00:46:19.840 Actually need to pull develop first.
00:46:28.300 --> 00:46:32.100 Before I go too crazy, does anyone know just how what
00:46:28.490 --> 00:46:29.160 Change.
00:46:32.100 --> 00:46:34.000 version PBC was on for CEF?
00:46:33.370 --> 00:46:37.772 He BBC is 2022.2, so it's just about a year old at this point,
00:46:37.772 --> 00:46:39.100 little over a year.
00:46:53.250 --> 00:46:56.320 Because in there I have my examples that I use in order to
00:46:56.320 --> 00:46:58.870 do, uh, to kind of counteract targeted shipping.
00:47:01.240 --> 00:47:01.440 Yeah.
00:47:01.450 --> 00:47:03.925 And I think not only do we want ways around target shipping, but
00:47:03.925 --> 00:47:05.830 we also want to be able to support it too, right.
00:47:05.980 --> 00:47:07.520 And figure out how what that looks like.
00:47:06.090 --> 00:47:06.330 Right.
00:47:06.370 --> 00:47:09.627 Yeah, because there are projects that do the multiple multiple
00:47:09.627 --> 00:47:12.110 orders and and multiple destinations and stuff.
00:47:12.890 --> 00:47:13.330 Umm.
00:47:14.770 --> 00:47:15.940 Then we need to support as well.
00:47:15.950 --> 00:47:16.140 So yeah.
00:47:16.940 --> 00:47:17.490 Umm.
00:47:17.910 --> 00:47:22.332 If again another another side of this is like if there's stuff
00:47:22.332 --> 00:47:26.684 that's missing that should be able to map out, umm 90% of the
00:47:26.684 --> 00:47:28.860 time, that's a pretty easy fix.
00:47:28.870 --> 00:47:31.788 There are certain situations where we have to be careful
00:47:31.788 --> 00:47:34.860 about what we're mapping out because it can mapping out one
00:47:34.860 --> 00:47:38.035 thing on a single query doesn't seem like much, but then on a
00:47:38.035 --> 00:47:41.005 paginated query that's pulling fifty of them or whatever,
00:47:41.005 --> 00:47:44.333 that's bloating the size of that request significantly more than
00:47:44.333 --> 00:47:45.050 it would seem.
00:47:46.350 --> 00:47:48.160 So we have to be careful about certain things like that.
00:47:48.170 --> 00:47:51.900 But generally speaking, for targeted like full mapped single
00:47:51.900 --> 00:47:55.507 by ID queries, we can definitely map out things if they're
00:47:55.507 --> 00:47:59.115 missing, and especially if that's a regular pain point for
00:47:59.115 --> 00:47:59.910 you guys. So.
00:48:00.900 --> 00:48:01.610 Uh, yeah.
00:48:01.620 --> 00:48:02.730 With with except.
00:48:02.740 --> 00:48:03.190 Yeah.
00:48:03.200 --> 00:48:07.146 The so stuff that I've we've identified in the past as being
00:48:07.146 --> 00:48:10.770 problematic, we we will avoid doing that like a plague.
00:48:10.840 --> 00:48:13.932 For instance, the store model mapping all the products if a
00:48:13.932 --> 00:48:16.973 store is mapped to 10,000 products, that's going to try to
00:48:16.973 --> 00:48:19.190 create a collection that has 10,000 in it.
00:48:17.050 --> 00:48:17.690 She she, she.
00:48:19.520 --> 00:48:20.970 That's just gonna die.
00:48:19.840 --> 00:48:20.020 Yep.
00:48:21.220 --> 00:48:24.667 So there's going to be cases where we know that we're not
00:48:24.667 --> 00:48:28.173 going to do that because it's going to cause a performance
00:48:28.173 --> 00:48:28.530 issue.
00:48:29.010 --> 00:48:31.660 And I mean significant one not.
00:48:32.070 --> 00:48:33.730 I'm losing another 10 milliseconds.
00:48:33.740 --> 00:48:34.260 I'm talking.
00:48:34.570 --> 00:48:38.851 It's gonna turn it into minutes, if not hours of it dying and you
00:48:38.851 --> 00:48:41.640 slowly watching and waiting for it to die.
00:48:42.510 --> 00:48:42.690 Yeah.
00:48:43.100 --> 00:48:43.930 Kind of thing so.
00:48:46.410 --> 00:48:50.319 And now we we watch the elusive Visual Studio beast in its
00:48:50.319 --> 00:48:51.380 natural habitat.
00:48:54.900 --> 00:48:57.070 Rider rider rider.
00:48:57.690 --> 00:49:01.720 One of these days I'll make the switch, but it's the what is it?
00:49:01.730 --> 00:49:04.500 The the end of me I know is better than the enemy.
00:49:04.510 --> 00:49:04.980 I don't know.
00:49:10.950 --> 00:49:14.236 And a friend that was asking me about writer and I was like, if
00:49:14.236 --> 00:49:17.522 you're not already familiar with Visual Studio, just just go to
00:49:17.522 --> 00:49:17.830 Rider.
00:49:18.380 --> 00:49:22.000 Don't. Don't bother.
00:49:20.790 --> 00:49:21.530 Don't take the drug.
00:49:22.140 --> 00:49:24.230 Yeah, it really is.
00:49:24.240 --> 00:49:26.910 It's like heroin cause it's terrible for you.
00:49:27.680 --> 00:49:30.080 But once you're in, it's tough to get out.
00:49:30.950 --> 00:49:31.170 Yeah.
00:49:31.180 --> 00:49:31.880 So many pretty colors.
00:49:32.940 --> 00:49:33.120 Yeah.
00:49:34.870 --> 00:49:38.412 And I'll say that like Visual Studio does have some great
00:49:38.412 --> 00:49:42.320 tools and I'm to be clear, I'm not familiar with writer to know
00:49:42.320 --> 00:49:46.290 how good its tooling outside of just physically writing code is.
00:49:47.440 --> 00:49:52.489 But it has some very nice tools that uh, I've sort of grown
00:49:52.489 --> 00:49:57.623 accustomed to over time and most of my muscle memory is with
00:49:57.623 --> 00:49:59.980 Visual Studio E thingies so.
00:50:02.380 --> 00:50:03.380 All tabs.
00:50:02.460 --> 00:50:03.670 I'm not addicted to writer.
00:50:03.680 --> 00:50:04.260 You're addicted.
00:50:05.700 --> 00:50:06.010 Yeah.
00:50:08.390 --> 00:50:08.740 OK.
00:50:08.750 --> 00:50:14.378 So the one that you sent Austin that is getting a payment's
00:50:14.378 --> 00:50:15.410 custom key.
00:50:18.080 --> 00:50:20.670 Umm, based on a transaction number?
00:50:22.180 --> 00:50:23.410 And accounts custom key from.
00:50:24.690 --> 00:50:25.650 Oh, a that custom.
00:50:25.660 --> 00:50:26.330 Yeah, I misread that.
00:50:26.340 --> 00:50:26.700 Yep.
00:50:26.770 --> 00:50:29.703 So getting the custom key of an account that made a payment
00:50:29.703 --> 00:50:31.170 based on a transaction number.
00:50:31.880 --> 00:50:32.060 Yep.
00:50:32.470 --> 00:50:36.980 So effectively we need something in the payments that's like Git,
00:50:36.980 --> 00:50:37.800 Git account.
00:50:38.550 --> 00:50:39.580 For payment or something?
00:50:38.630 --> 00:50:40.060 Maybe I could, yeah.
00:50:39.590 --> 00:50:40.800 Yeah, for four transaction.
00:50:40.070 --> 00:50:42.390 Get account for transaction ID or something?
00:50:43.370 --> 00:50:44.520 Umm cool.
00:50:44.530 --> 00:50:45.340 That makes sense to me.
00:50:47.750 --> 00:50:48.120 So.
00:50:55.110 --> 00:50:57.340 Well, back in 19.
00:50:58.660 --> 00:51:02.099 And for your purposes, here is it easier if it's all in one SQL
00:51:02.099 --> 00:51:03.120 query or broken up.
00:51:04.060 --> 00:51:05.430 It doesn't really matter.
00:51:05.440 --> 00:51:09.704 Ultimately, it's easier if it's one, but if you're get whatever
00:51:09.704 --> 00:51:11.770 data you're getting at, we can.
00:51:11.820 --> 00:51:14.360 We can massage into whatever it is we need.
00:51:13.650 --> 00:51:18.060 The yeah, if if you if you're basically giving us the, this is
00:51:18.060 --> 00:51:18.900 what I have.
00:51:18.910 --> 00:51:21.845 This is what I'm supposed to get at and this is how I was getting
00:51:21.845 --> 00:51:22.290 it before.
00:51:22.830 --> 00:51:23.010 Yeah.
00:51:23.130 --> 00:51:26.387 Umm, we went know of a more efficient way to get the info,
00:51:26.387 --> 00:51:30.030 but you know, generally speaking we could probably just clone how
00:51:30.030 --> 00:51:31.300 you were getting to it.
00:51:32.960 --> 00:51:33.360 Very good.
00:51:34.330 --> 00:51:36.180 Uh, and I wanna specify here too.
00:51:36.190 --> 00:51:39.503 It's not necessarily that we're getting it from the transaction
00:51:39.503 --> 00:51:41.470 ID, but rather the payment ID itself.
00:51:41.480 --> 00:51:44.029 The only reason I wrote the query like that is because I
00:51:44.029 --> 00:51:46.175 already had access to the payment ID or the the
00:51:46.175 --> 00:51:47.920 transaction ID from the payment model.
00:51:48.800 --> 00:51:52.580 Umm, so more specifically for the use.
00:51:51.590 --> 00:51:54.022 So so in this so in this situation you have a payment
00:51:54.022 --> 00:51:55.870 model and you just need the account key.
00:51:56.750 --> 00:51:56.980 Umm.
00:51:58.160 --> 00:51:58.710 Hmm.
00:51:59.400 --> 00:52:04.634 We could possibly just make the account key map out on the
00:52:04.634 --> 00:52:08.450 payment model then like theoretically the.
00:52:10.140 --> 00:52:14.939 Payment itself would be tied to an invoice via this, which I
00:52:14.939 --> 00:52:19.816 don't think it's tied through any other method to to anything
00:52:19.816 --> 00:52:24.537 useful here, at least not not, not this is useful, just not
00:52:24.537 --> 00:52:25.560 useful to it.
00:52:25.570 --> 00:52:26.040 We're looking for.
00:52:26.920 --> 00:52:27.140 Yeah.
00:52:27.150 --> 00:52:30.261 So we go to sales invoice payment which would then take us
00:52:30.261 --> 00:52:33.690 into sales invoice which should have an account on it and that's
00:52:33.690 --> 00:52:36.380 effectively the query path you're walking through.
00:52:34.680 --> 00:52:34.860 Yeah.
00:52:36.420 --> 00:52:41.555 So in theory then it should be possible to say umm add a
00:52:41.555 --> 00:52:45.430 convenience property on the payment model.
00:52:45.440 --> 00:52:46.610 That's just the account key.
00:52:47.310 --> 00:52:50.226 Umm, that might be better than making another endpoint you have
00:52:48.390 --> 00:52:48.930 Adorf.
00:52:50.226 --> 00:52:52.460 to you have to hit to get the information again.
00:52:52.470 --> 00:52:53.610 If you already have a payment model.
00:52:52.530 --> 00:52:56.073 Because it's a collection, it's theoretically possible they
00:52:56.073 --> 00:52:57.550 could have more than one.
00:52:59.610 --> 00:53:00.010 Yeah.
00:53:00.020 --> 00:53:02.290 And then I was also going to say if it's paying multiple.
00:53:00.450 --> 00:53:01.000 True.
00:53:01.010 --> 00:53:05.199 Now I guess my next question, my next question would be, is there
00:53:05.199 --> 00:53:08.690 ever a scenario where in a payment related to multiple
00:53:08.690 --> 00:53:12.498 invoices where those invoices would be related to different
00:53:12.498 --> 00:53:13.070 accounts?
00:53:13.140 --> 00:53:13.260 Yes.
00:53:15.050 --> 00:53:19.556 And an affiliate setup where someone is paying on behalf of
00:53:19.556 --> 00:53:22.110 multiple things at the same time.
00:53:23.380 --> 00:53:23.510 OK.
00:53:23.430 --> 00:53:25.190 Like aquasol payab.
00:53:26.140 --> 00:53:26.530 What?
00:53:26.510 --> 00:53:26.770 OK.
00:53:26.540 --> 00:53:26.710 What?
00:53:26.720 --> 00:53:27.210 What's this?
00:53:27.340 --> 00:53:28.250 What project is this for?
00:53:29.480 --> 00:53:31.940 This we're adding an endpoint, yeah.
00:53:29.580 --> 00:53:31.180 In this case, I think it's for Rydell.
00:53:32.200 --> 00:53:32.820 OK.
00:53:32.770 --> 00:53:37.000 The query that you're seeing is from ACI. Umm.
00:53:32.910 --> 00:53:33.850 Yeah, cause like if this was.
00:53:36.770 --> 00:53:40.463 OK cause let for aquasol this would be the edge edge case
00:53:40.463 --> 00:53:44.411 where pay hub is pay multiple so the master payment that does
00:53:44.411 --> 00:53:47.913 have a transaction that you won't have a sales invoice
00:53:47.913 --> 00:53:51.989 payment and also doesn't have a master or like slave ID because
00:53:51.989 --> 00:53:55.809 that which is maybe we should change that going forward but
00:53:55.809 --> 00:53:57.720 either way so that's an issue.
00:53:56.770 --> 00:53:57.130 Yeah.
00:53:57.790 --> 00:54:01.234 And then the other problem is that hypothetically and aquasol,
00:54:01.234 --> 00:54:04.515 you would be paying invoices that are on multiple accounts,
00:54:04.515 --> 00:54:07.905 but if it's for our IE or like a normal step site and usually
00:54:07.530 --> 00:54:08.220 Yeah, well, the.
00:54:07.905 --> 00:54:11.076 it's one transaction ID per sales invoice per payment per
00:54:11.030 --> 00:54:11.250 Yeah.
00:54:11.076 --> 00:54:12.990 whatever and then it'll just work.
00:54:13.470 --> 00:54:13.800 Yeah.
00:54:13.530 --> 00:54:13.750 And.
00:54:13.810 --> 00:54:16.387 So the the specific thing that I'm that I'm trying to address
00:54:16.387 --> 00:54:18.964 here is, since this is going into core, I don't want to write
00:54:18.964 --> 00:54:20.960 something that only works for certain projects.
00:54:21.130 --> 00:54:24.910 Now what we can do is have it return a list of account keys.
00:54:25.870 --> 00:54:26.520 Umm.
00:54:27.030 --> 00:54:29.848 And you know, for if you're writing a sync where you know
00:54:29.848 --> 00:54:32.667 there's only ever gonna be the one, then you can just dot
00:54:32.667 --> 00:54:35.631 single when it comes over the wire and then for more complex
00:54:35.631 --> 00:54:38.741 syncs, you have the list of all account custom keys that made a
00:54:38.741 --> 00:54:39.130 request.
00:54:39.630 --> 00:54:44.145 I EI actually do have a question umm is this whole like parent
00:54:44.145 --> 00:54:48.588 payment and child payment is that exclusive to payment hub or
00:54:48.588 --> 00:54:51.670 is that something we run into across like?
00:54:51.230 --> 00:54:51.640 Umm.
00:54:51.740 --> 00:54:56.322 What we don't have parent and child payments in core, it's
00:54:56.322 --> 00:55:00.593 done a it's not a system that uses the I have a parent
00:55:00.593 --> 00:55:01.370 interface.
00:55:04.000 --> 00:55:06.450 Uh, well, on on ACI.
00:55:06.460 --> 00:55:10.894 At least they're like payment payment projects that I've I've
00:55:10.894 --> 00:55:13.040 worked with like there is one.
00:55:13.510 --> 00:55:13.730 Yeah.
00:55:13.740 --> 00:55:14.970 Go ahead, Tristan, since you would.
00:55:14.940 --> 00:55:19.621 So yeah, I guess just a so at least if you go through the pay
00:55:19.621 --> 00:55:24.453 multiple invoices flow, it will generate a parent payments, but
00:55:24.453 --> 00:55:27.020 there it's not actually a parent.
00:55:27.100 --> 00:55:31.270 So it's only parent in in theory kind of thing.
00:55:31.280 --> 00:55:34.123 It's really it's kind of dirty and as I actually I think I I
00:55:34.123 --> 00:55:36.967 don't know if I called it to jail or who I was talking about
00:55:36.967 --> 00:55:37.340 and see.
00:55:37.350 --> 00:55:41.148 But I was like, we should actually have a parent and a
00:55:41.148 --> 00:55:44.808 child or something, cuz like they're not really tied
00:55:44.808 --> 00:55:45.430 together.
00:55:45.640 --> 00:55:48.340 They they are, but they're not like it's weird so.
00:55:49.120 --> 00:55:52.640 Umm, that's a it's kind of a jank situation.
00:55:52.680 --> 00:55:53.330 I'll just put it that way.
00:55:54.090 --> 00:55:54.370 Yeah.
00:55:54.570 --> 00:55:55.730 That probably needs a change.
00:55:56.350 --> 00:55:59.882 The the one thing with their two also is it would be nice if
00:55:59.882 --> 00:56:03.473 those payments, if we're gonna stick with that type of schema
00:56:03.473 --> 00:56:04.400 for payment hub.
00:56:04.410 --> 00:56:07.811 If if they could have the type on them instead of, I think the
00:56:07.811 --> 00:56:11.158 only way to find out if if it was a parent or a child payment
00:56:11.158 --> 00:56:13.750 was whether it's some field was blank, I think.
00:56:11.560 --> 00:56:12.520 I yeah.
00:56:14.400 --> 00:56:19.545 Hypothetically, I assume it would end up working much like
00:56:15.110 --> 00:56:15.390 Move.
00:56:19.545 --> 00:56:24.516 the I guess how like sales groups and that kind of thing
00:56:24.516 --> 00:56:29.748 work, where if it has a, you know I'm a child or a child of
00:56:29.748 --> 00:56:30.010 ID.
00:56:30.020 --> 00:56:32.300 You would know it's a child, but.
00:56:30.760 --> 00:56:31.010 Hey.
00:56:31.620 --> 00:56:32.030 So.
00:56:32.200 --> 00:56:39.220 So how uh take me back to where this is joining from?
00:56:39.500 --> 00:56:43.104 What you're describing, I never built an ever had as part of
00:56:43.104 --> 00:56:43.400 Seth.
00:56:44.700 --> 00:56:47.627 So somebody went through and built whatever this is and it
00:56:47.627 --> 00:56:50.752 sounds like they built it in a way that is is grinding against
00:56:50.752 --> 00:56:53.680 some Gears of how the system is supposed to actually work.
00:56:54.980 --> 00:56:55.310 It's.
00:56:55.060 --> 00:56:59.500 So you're you're starting with like the pay multiple invoices
00:56:59.500 --> 00:57:03.726 endpoint of Seth and that is creating a payment record and
00:57:03.726 --> 00:57:07.880 then multiple other payment records that are each tied to
00:57:07.880 --> 00:57:09.170 their own invoice.
00:57:11.430 --> 00:57:12.120 Yeah.
00:57:12.130 --> 00:57:15.577 So and I I don't even know how far back this goes, to be
00:57:15.577 --> 00:57:19.206 honest, because I I've only mutated it over time to make it
00:57:19.206 --> 00:57:20.900 more digestible essentially.
00:57:20.910 --> 00:57:24.736 But essentially what it does right now is it will generate a
00:57:24.736 --> 00:57:27.810 payment that has the full amount you paid right?
00:57:28.050 --> 00:57:31.602 Basically, the amount you're gonna pay to a payment processor
00:57:31.602 --> 00:57:35.097 right on it, and then it has individual payment records that
00:57:35.097 --> 00:57:37.160 are tied to sales invoice payments.
00:57:37.960 --> 00:57:41.287 Umm for those specific invoices, whether that's an actual invoice
00:57:41.287 --> 00:57:43.960 you're paying on or a surcharge invoice or whatever.
00:57:44.780 --> 00:57:49.118 So the current problem with that obviously is that there's
00:57:49.118 --> 00:57:53.015 nothing like that super obviously tying one of those
00:57:53.015 --> 00:57:57.648 individual payments to the code unquote master payment record,
00:57:57.648 --> 00:58:02.427 which really just that's just a schema change that would need to
00:58:02.427 --> 00:58:05.810 happen in some extra mapping and some places.
00:58:05.820 --> 00:58:11.260 But yeah, says the current issue.
00:58:11.270 --> 00:58:13.280 The current implementation as it stands.
00:58:14.700 --> 00:58:18.121 OK, I found the part where it's creating the the master payment
00:58:18.121 --> 00:58:21.490 in the standard action providers under sales invoice handlers.
00:58:22.240 --> 00:58:23.970 Going to look at the history on this file cuz.
00:58:25.630 --> 00:58:28.992 Prime and change 30,000 times by me and then I don't know what it
00:58:27.440 --> 00:58:31.250 Because because I don't know how this this transition from where
00:58:28.992 --> 00:58:29.400 was for.
00:58:31.250 --> 00:58:32.540 it was to where it is.
00:58:32.550 --> 00:58:36.928 UM, because I remember writing the original one like I wanna
00:58:36.928 --> 00:58:39.440 say it was a couple years ago now.
00:58:42.460 --> 00:58:44.540 Yeah, you might have to go back like pre.
00:58:43.190 --> 00:58:45.580 It's got history back to March 2021.
00:58:48.400 --> 00:58:48.690 Yeah.
00:58:50.430 --> 00:58:56.923 I see people like Taylor and I feel Richard Howlett David David
00:58:56.923 --> 00:58:58.040 touched it.
00:58:58.050 --> 00:58:59.300 Oh, it was a merge request.
00:59:00.100 --> 00:59:02.780 Uh, lots of TMK, some JL.
00:59:04.330 --> 00:59:05.480 Of your surcharge stuff?
00:59:04.390 --> 00:59:04.920 OK.
00:59:04.930 --> 00:59:07.490 So let me follow this part back a bit.
00:59:06.470 --> 00:59:06.660 Cool.
00:59:08.560 --> 00:59:10.630 So that adds that map out now.
00:59:10.640 --> 00:59:13.946 So now anytime you get a payment model, regardless of where its
00:59:13.946 --> 00:59:17.098 mapping from, I did it on list, it should include for future
00:59:17.098 --> 00:59:19.010 versions of safe starting in 2023.3.
00:59:19.020 --> 00:59:22.202 Since we haven't made the branch for that yet, it should now
00:59:22.202 --> 00:59:22.620 include.
00:59:23.150 --> 00:59:23.830 It's a branch.
00:59:24.530 --> 00:59:25.050 Oopsies.
00:59:27.720 --> 00:59:28.150 That was weird.
00:59:27.740 --> 00:59:29.530 There's an oversea up there right now.
00:59:30.410 --> 00:59:34.670 Uh, OK, then we'll have to merge this in real quick.
00:59:32.650 --> 00:59:33.340 Uh, yeah.
00:59:33.350 --> 00:59:35.400 I just have to make a PR to it but.
00:59:34.740 --> 00:59:36.690 Yeah, yeah, cool.
00:59:36.700 --> 00:59:38.320 I didn't know there was a release candidate already.
00:59:38.420 --> 00:59:39.190 Fantastic.
00:59:39.070 --> 00:59:39.980 Yeah, I did that.
00:59:39.580 --> 00:59:39.930 But anyway.
00:59:39.990 --> 00:59:41.390 Like yesterday or day before.
00:59:42.010 --> 00:59:43.220 Nice. Umm.
00:59:43.230 --> 00:59:43.500 Cool.
00:59:43.510 --> 00:59:47.004 So then yes, so starting in 2023.3 payments will include the
00:59:47.004 --> 00:59:50.613 related account keys and then array for for projects where the
00:59:50.613 --> 00:59:54.337 sync is simple, you can just dot single on that array to get the
00:59:54.337 --> 00:59:57.947 only one that will be in it and then it'll include all related
00:59:57.947 --> 01:00:01.613 account keys for anything that's more complicated than that for
01:00:01.613 --> 01:00:04.936 like James just saying like affiliate setups that kind of
01:00:04.936 --> 01:00:05.280 thing.
01:00:05.330 --> 01:00:06.910 So cool.
01:00:07.520 --> 01:00:07.880 Uh.
01:00:09.000 --> 01:00:10.730 Still got about 25 minutes.
01:00:10.740 --> 01:00:13.502 Here I see you guys keep mentioning target order
01:00:13.502 --> 01:00:14.010 shipping.
01:00:14.140 --> 01:00:18.510 What specifically on the API side would help on that?
01:00:20.710 --> 01:00:24.234 If there is a way to merge all the information on to one call
01:00:24.234 --> 01:00:27.814 like there's some that there's some information that's only on
01:00:27.814 --> 01:00:28.440 the slaves.
01:00:28.450 --> 01:00:29.570 Some that's only on the master.
01:00:30.180 --> 01:00:30.380 OK.
01:00:30.450 --> 01:00:34.320 For instance, taxes are only on.
01:00:33.340 --> 01:00:36.080 So theoretically the.
01:00:35.250 --> 01:00:37.620 What would it take to change the naming on those?
01:00:38.710 --> 01:00:41.300 It just seems like a obvious change.
01:00:41.310 --> 01:00:41.750 We need to make.
01:00:42.060 --> 01:00:44.660 Whereas we've been over that particularly and I do not want
01:00:42.230 --> 01:00:42.490 Yeah.
01:00:44.660 --> 01:00:45.830 to discuss it on this call.
01:00:47.510 --> 01:00:50.359 We can I I know that in Phoenix we've changed that naming
01:00:49.490 --> 01:00:50.160 Quite an audience.
01:00:50.359 --> 01:00:50.900 convention.
01:00:51.570 --> 01:00:55.985 Umm, I think we did like primary and secondary or primary in
01:00:55.985 --> 01:00:57.940 something I don't remember.
01:00:58.910 --> 01:01:00.560 So that's only been changed there.
01:01:00.930 --> 01:01:01.720 But yeah, we can.
01:01:01.770 --> 01:01:05.281 We can talk through that another offline because I think it is a
01:01:05.281 --> 01:01:08.791 obviously the main thing is that that's in like a million places
01:01:08.791 --> 01:01:09.440 in the code.
01:01:09.450 --> 01:01:13.806 It would be a huge, huge, worthwhile, but massive amount
01:01:13.806 --> 01:01:16.710 of lift to change everywhere I think.
01:01:20.300 --> 01:01:22.380 Is our parent child would be a appropriate.
01:01:20.610 --> 01:01:21.650 Control shift H.
01:01:23.740 --> 01:01:24.180 Something.
01:01:24.190 --> 01:01:25.370 Yeah, something to that effect.
01:01:25.120 --> 01:01:26.040 Yeah, yeah.
01:01:25.380 --> 01:01:27.483 Yeah, Alex, I think I'm Phoenix really like primary and
01:01:27.483 --> 01:01:28.760 secondary or something like that.
01:01:29.420 --> 01:01:30.050 Umm.
01:01:31.730 --> 01:01:32.170 But anyway.
01:01:35.040 --> 01:01:36.330 I'm trying to what I'm about to say.
01:01:36.340 --> 01:01:39.688 Umm, so when it comes to getting all the information that you
01:01:39.688 --> 01:01:43.199 need, I think the primary thing that would help is understanding
01:01:43.199 --> 01:01:45.360 the way that those things tie together.
01:01:45.960 --> 01:01:46.600 Umm.
01:01:47.000 --> 01:01:52.300 So everything on the output of target order checkout goes on to
01:01:52.300 --> 01:01:53.460 a sales group.
01:01:54.300 --> 01:01:55.550 Umm, the sales group.
01:01:55.560 --> 01:02:01.352 If you query for that record will include the main order, the
01:02:01.352 --> 01:02:05.930 child orders, and I believe the invoice as well.
01:02:06.150 --> 01:02:08.680 And we can test that with postman real quick.
01:02:10.920 --> 01:02:11.320 Let's see.
01:02:15.680 --> 01:02:16.270 Sure, why not?
01:02:19.430 --> 01:02:20.780 Like Riddell stage real quick.
01:02:30.860 --> 01:02:37.887 Sales, sales group ID and we'll go over here and take a little
01:02:37.887 --> 01:02:40.230 look at what we have.
01:02:41.260 --> 01:02:45.638 OK, so the master payment thing that you guys are talking about,
01:02:45.638 --> 01:02:47.390 that was not done in core.
01:02:47.400 --> 01:02:51.286 That was done in pay hub and when I pulled it from Payhub to
01:02:51.286 --> 01:02:55.173 core it's now in core as of August 21st so I don't have like
01:02:55.173 --> 01:02:56.830 the whole history of that.
01:02:56.840 --> 01:02:57.820 I have just what it was.
01:02:57.830 --> 01:03:01.489 There I would need to go to the pay hub branch and look at its
01:03:01.489 --> 01:03:04.684 history to find how that transition to about, but that
01:03:02.520 --> 01:03:02.770 Hmm.
01:03:04.684 --> 01:03:08.460 basically got pulled forward and like as a whole on August 21st.
01:03:09.320 --> 01:03:11.420 I don't think this is supposed to look like this.
01:03:14.360 --> 01:03:14.850 That's fun.
01:03:14.910 --> 01:03:19.040 August 21st of this year because that what we're talking about
01:03:17.610 --> 01:03:19.110 Yeah, that's when it got.
01:03:19.040 --> 01:03:20.220 far predates that.
01:03:21.070 --> 01:03:24.942 Yes, it got pulled to core from on on that date from the Pay Hub
01:03:21.460 --> 01:03:21.890 Yeah.
01:03:24.942 --> 01:03:28.814 branch pay hub had been doing a whole bunch of work on their own
01:03:28.814 --> 01:03:29.470 over there.
01:03:29.410 --> 01:03:32.295 I thought we had been doing payhub from the main developer
01:03:31.060 --> 01:03:32.850 What the hell is this?
01:03:32.295 --> 01:03:35.425 branches for quite or not just developed, but just playing main
01:03:34.620 --> 01:03:36.470 Develop was going into it.
01:03:35.425 --> 01:03:36.110 core branches.
01:03:36.480 --> 01:03:37.980 It was never pulling anything back.
01:03:41.200 --> 01:03:45.348 Umm, I'm trying to think when I so that around, probably right
01:03:45.230 --> 01:03:46.450 This is very interesting.
01:03:45.348 --> 01:03:49.430 before summer started or during summer, that's when I created
01:03:49.430 --> 01:03:53.512 that payable stable range to pull in all the fixes from comma
01:03:53.512 --> 01:03:56.080 and a bunch of other payable projects.
01:03:56.990 --> 01:04:01.107 So we can do to address the whole lack of schema supporting
01:04:01.107 --> 01:04:01.450 that.
01:04:02.580 --> 01:04:05.620 I guess relationship is umm.
01:04:06.130 --> 01:04:09.806 I can either just address that in the payout branch itself and
01:04:09.806 --> 01:04:13.541 then merge that in, or merge it in and then if you would rather
01:04:13.541 --> 01:04:15.000 do that, you could do it.
01:04:15.010 --> 01:04:18.318 But either way, and it's probably something we want to
01:04:18.318 --> 01:04:19.100 take care of.
01:04:20.670 --> 01:04:21.580 Uh, but I do.
01:04:21.590 --> 01:04:25.388 I do know Eric wanted me to pull all the pay hub stuff into
01:04:25.388 --> 01:04:29.377 develop and try to get it into the release if possible, but of
01:04:29.377 --> 01:04:32.100 course if if there's too much stuff there.
01:04:30.620 --> 01:04:35.581 I everything that was in pay hub before August 21st, so a month
01:04:35.581 --> 01:04:37.830 ago is inside core right now.
01:04:37.840 --> 01:04:40.750 It's in the develop and going into the release candidate.
01:04:39.900 --> 01:04:42.550 OK, OK.
01:04:42.560 --> 01:04:45.035 So everything that was in that like Payhub release branch thing
01:04:45.035 --> 01:04:45.500 that I made.
01:04:46.420 --> 01:04:46.560 Yes.
01:04:47.510 --> 01:04:48.580 OK, alright.
01:04:51.080 --> 01:04:52.050 This is fun.
01:04:52.050 --> 01:04:54.060 And I see the commit where you had added it.
01:04:52.250 --> 01:04:55.500 I don't know this is happening.
01:04:54.780 --> 01:04:56.260 Uh on June 9th.
01:04:58.660 --> 01:05:01.646 Where you had written bolty pay item potency, additional
01:05:01.646 --> 01:05:03.270 handling and logging as as the.
01:05:06.450 --> 01:05:10.070 The was the log you had on your command.
01:05:08.780 --> 01:05:09.330 Yeah.
01:05:08.820 --> 01:05:10.200 Should be given the flight.
01:05:09.340 --> 01:05:12.400 So yeah, so that doesn't.
01:05:12.410 --> 01:05:15.100 So that didn't add like we already had the master records.
01:05:14.650 --> 01:05:14.950 OK.
01:05:15.110 --> 01:05:18.577 That was just adding I guess more purpose to it in that like
01:05:18.577 --> 01:05:21.420 we could use it as an item potency thing as well.
01:05:21.550 --> 01:05:25.143 But the custom key and then there was a bunch of logging and
01:05:25.143 --> 01:05:26.440 logic stuff around it.
01:05:26.690 --> 01:05:29.514 The most recent stuff that I've done, which would be good to get
01:05:29.514 --> 01:05:31.600 into the release, would just be splitting that.
01:05:31.610 --> 01:05:35.604 However, ridiculously long method into smaller steps, which
01:05:35.604 --> 01:05:39.930 is especially useful considering we were doing the ache callback
01:05:39.930 --> 01:05:43.991 stuff so that you know like the last step or whatever can be
01:05:43.991 --> 01:05:47.120 reran by other you know methods in that class.
01:05:47.130 --> 01:05:52.410 But either way we can we can drill into it offline.
01:05:54.820 --> 01:05:59.562 OK, so looking at the sales group call, it gave me back the
01:05:59.562 --> 01:06:03.910 billing contact that was used in this run of checkout.
01:06:04.360 --> 01:06:08.650 It gave me back the main sales order with the totals.
01:06:08.660 --> 01:06:12.439 This one wouldn't have tax because this is forever ago from
01:06:12.439 --> 01:06:15.840 before we had taxes set up on I just switched to PBC.
01:06:15.850 --> 01:06:18.461 I don't know what's going on with Red's API, but it was
01:06:18.461 --> 01:06:19.860 returned in some garbled crap.
01:06:23.300 --> 01:06:24.380 And then order attributes.
01:06:24.390 --> 01:06:26.000 Then it gave back the sub sales orders.
01:06:29.520 --> 01:06:36.086 And that included the totals of that one uh, including shipping
01:06:36.086 --> 01:06:37.420 on the child.
01:06:37.430 --> 01:06:39.350 And it was actually on the main order too.
01:06:39.650 --> 01:06:40.220 Interesting.
01:06:40.670 --> 01:06:41.310 That's good news.
01:06:42.050 --> 01:06:44.080 Uh gave back the invoice.
01:06:44.130 --> 01:06:45.120 The invoice.
01:06:45.130 --> 01:06:47.210 Did it include the payments?
01:06:47.250 --> 01:06:47.640 No.
01:06:47.650 --> 01:06:52.474 OK, it did not umm but it did give back the all the orders
01:06:52.474 --> 01:06:55.010 generated plus the the invoice.
01:06:56.440 --> 01:07:01.882 The account at least a bit of information about the account,
01:07:01.882 --> 01:07:06.700 so ultimately, does this cover most of what you need?
01:07:06.850 --> 01:07:09.880 If you were to, if you knew that this had to be queried for.
01:07:07.210 --> 01:07:07.360 But.
01:07:11.270 --> 01:07:15.720 Where's the shipping information shipping contact?
01:07:17.780 --> 01:07:18.890 That's a good question.
01:07:19.020 --> 01:07:21.460 That would be on the sub sales order.
01:07:24.190 --> 01:07:25.230 Did we get that?
01:07:25.710 --> 01:07:26.720 Just the ID.
01:07:26.770 --> 01:07:27.380 OK.
01:07:27.490 --> 01:07:31.563 So that's so that's not fully provided the ID for it is
01:07:31.563 --> 01:07:32.800 provided on this.
01:07:32.810 --> 01:07:33.050 OK.
01:07:33.060 --> 01:07:34.940 So that's a that's a pain point.
01:07:34.950 --> 01:07:35.970 I could see that being annoying.
01:07:36.660 --> 01:07:39.220 Umm but.
01:07:41.940 --> 01:07:42.450 Let's see.
01:07:42.500 --> 01:07:46.542 And then on the invoice itself, again, there's also no payments
01:07:46.542 --> 01:07:47.490 on the invoice.
01:07:54.130 --> 01:07:59.362 OK, so a couple possible things you could improve here are
01:07:59.362 --> 01:08:04.240 shipping contact on the sub orders and payments on the
01:08:04.240 --> 01:08:04.950 invoice.
01:08:06.210 --> 01:08:08.768 Yeah, those were those two things were honestly the biggest
01:08:08.768 --> 01:08:10.090 pain point specifically on PBC.
01:08:10.100 --> 01:08:14.010 So I'm glad you picked that one that I had to work around.
01:08:12.530 --> 01:08:12.680 Cool.
01:08:15.990 --> 01:08:20.435 And I suppose what I could also do is point this app my develop
01:08:20.435 --> 01:08:23.770 local and jump over here and just do a rebuild.
01:08:24.000 --> 01:08:29.297 Haven't built this guy in a while, probably even need to run
01:08:29.297 --> 01:08:34.769 migrations and stuff, but once that spins up we can head on my
01:08:34.769 --> 01:08:38.330 local and and compare the difference to.
01:08:38.430 --> 01:08:40.990 After we make this fix it so it should be pretty quick.
01:08:41.040 --> 01:08:47.870 Let me connect to my local database on my on my other
01:08:47.870 --> 01:08:54.700 screen I had a a funny realization that I rarely use.
01:08:54.760 --> 01:08:55.800 I have three screens.
01:08:55.870 --> 01:08:57.620 I rarely use the screen on the right.
01:08:57.630 --> 01:09:01.532 It's mainly my center screen is the the one I do everything on
01:09:01.532 --> 01:09:03.390 this this the one I'm sharing.
01:09:03.400 --> 01:09:07.104 It's my main working screen and then my left screen always has
01:09:07.104 --> 01:09:07.810 teams on it.
01:09:07.880 --> 01:09:10.860 Or, you know, after hours it's got discord on it or whatever.
01:09:11.710 --> 01:09:15.265 And then during both my right monitor usually just has some
01:09:15.265 --> 01:09:19.117 static whatever like I just like throw throw my browser on it or
01:09:19.117 --> 01:09:21.310 whatever and that's what sits there.
01:09:22.380 --> 01:09:24.210 So I've been making a conscious effort.
01:09:24.340 --> 01:09:30.310 Uh to to look to my right more and use that monitor like.
01:09:30.210 --> 01:09:31.880 I've noticed that for me too.
01:09:30.240 --> 01:09:31.090 It's funny you mentioned that.
01:09:31.950 --> 01:09:33.560 Are you by chance do you?
01:09:33.570 --> 01:09:34.440 Are you a righty or a lefty?
01:09:35.000 --> 01:09:35.530 I'm right handed.
01:09:36.670 --> 01:09:39.129 I wonder if it's different for left handed people if they
01:09:39.129 --> 01:09:41.716 typically use the the right monitor but leave their left one
01:09:41.716 --> 01:09:42.480 for miscellaneous.
01:09:42.960 --> 01:09:43.380 Yeah.
01:09:43.340 --> 01:09:46.650 I can confirm I'm left handed and I use my right monitor.
01:09:43.440 --> 01:09:44.290 I think part of it is.
01:09:46.820 --> 01:09:49.767 I screen share exclusively off my right monitor and actually
01:09:49.767 --> 01:09:52.715 hurt my neck last week cause a screen sharing and doing some
01:09:50.330 --> 01:09:50.890 Interesting.
01:09:52.715 --> 01:09:53.150 meetings.
01:09:53.820 --> 01:09:54.450 Yeah.
01:09:54.500 --> 01:09:57.587 I think part of it is my the the the way that I sit at my desk
01:09:57.587 --> 01:09:58.910 when I posture is like I'm.
01:09:58.960 --> 01:10:02.670 I'm not like perfectly straight on to my desk.
01:10:02.680 --> 01:10:05.540 I'm kind of like a like a 70 degree angle.
01:10:06.680 --> 01:10:10.610 Uh, just slightly angled to the left, right?
01:10:11.150 --> 01:10:14.951 Umm so my my I have a lot of room for my like wrist and arm
01:10:14.951 --> 01:10:18.878 on my desk for my mouse hand but that angles me away from the
01:10:18.878 --> 01:10:22.870 right monitor so I had to turn my head a lot to look at it so.
01:10:23.680 --> 01:10:26.010 And the exact opposites about I have a right handed.
01:10:26.260 --> 01:10:30.051 I only really look at my right monitor and and you can just try
01:10:30.051 --> 01:10:33.902 to look at where my left monitor would be and it's difficult and
01:10:33.902 --> 01:10:37.753 I I actually just like basically I slouched to the left a little
01:10:34.650 --> 01:10:36.590 Yeah, so far away.
01:10:37.753 --> 01:10:39.590 bit and lean and my left elbow.
01:10:40.740 --> 01:10:41.180 OK.
01:10:41.620 --> 01:10:41.780 Yeah.
01:10:42.770 --> 01:10:45.560 Interesting are all different.
01:10:44.200 --> 01:10:47.780 And actually it is specifically the slouch as to why my right
01:10:47.780 --> 01:10:51.072 monitor is my miscellaneous cause cause my right hand is
01:10:51.072 --> 01:10:54.710 using is on the mouse, so lots typically slouched to the left,
01:10:54.710 --> 01:10:58.290 which is farther from the right monitor, closer to the center
01:10:58.290 --> 01:10:58.810 and left.
01:10:59.160 --> 01:11:01.870 So that's why all my code is on my center and left monitor.
01:11:02.000 --> 01:11:04.212 My right monitor is just from millenia because I'm leaning
01:11:04.212 --> 01:11:04.700 away from it.
01:11:07.570 --> 01:11:08.910 I put way too much thought into that.
01:11:11.020 --> 01:11:12.190 Too many numbers.
01:11:14.860 --> 01:11:15.120 OK.
01:11:15.130 --> 01:11:19.630 We'll do 264 is a good billing contact to use.
01:11:21.870 --> 01:11:22.550 Well my local.
01:11:38.370 --> 01:11:42.919 Make it up and we'll see what our response looks like in the
01:11:42.919 --> 01:11:47.320 in the before case, and then we'll see if we can get those
01:11:47.320 --> 01:11:50.080 changes made in the next 15 minutes.
01:11:50.860 --> 01:11:51.200 Nice.
01:11:50.990 --> 01:11:55.446 So the 1st place I know that we're gonna need to look is
01:11:55.446 --> 01:11:59.981 going to be on sales order, dot CS and it's going to have
01:11:59.981 --> 01:12:04.828 related objects, except these are actually going to come from
01:12:04.828 --> 01:12:09.753 its base class says collection because this would be where the
01:12:09.753 --> 01:12:12.490 shipping and billing contacts are.
01:12:14.480 --> 01:12:16.520 And there they are.
01:12:18.180 --> 01:12:21.170 Umm and.
01:12:23.860 --> 01:12:29.261 I would bet that on the response that we were looking at 404 not
01:12:29.261 --> 01:12:29.760 found.
01:12:31.140 --> 01:12:32.930 Oh, because it's API.
01:12:32.940 --> 01:12:34.730 I don't have an, just an API.
01:12:34.740 --> 01:12:35.580 Just do API admin.
01:12:37.880 --> 01:12:42.470 Ohh anyway I would bet that the level we're seeing those mapped
01:12:42.470 --> 01:12:45.340 back to us at is probably a list level.
01:12:57.570 --> 01:13:01.625 Which is tough because forcing the shipping contact to map out
01:13:01.625 --> 01:13:05.744 with list is a lot of extra data to send out, especially in the
01:13:05.744 --> 01:13:09.477 admin when they're thumbing through like orders in the UI
01:13:09.477 --> 01:13:13.532 that's gonna load an additional contact for every one of those
01:13:13.532 --> 01:13:15.850 orders that goes out over the wire.
01:13:15.910 --> 01:13:18.370 That's that's at least three levels of depth.
01:13:18.380 --> 01:13:19.260 It's adding to the query.
01:13:19.760 --> 01:13:21.350 Yeah, it's that's a lot of data.
01:13:22.160 --> 01:13:26.550 Would it make sense to add this as a uh for connect endpoint?
01:13:29.390 --> 01:13:34.461 Potentially the challenges that it goes through this, it all
01:13:29.770 --> 01:13:29.940 That.
01:13:33.930 --> 01:13:34.070 Yeah.
01:13:34.461 --> 01:13:39.283 goes through the same mapping layer and changing like for
01:13:39.283 --> 01:13:44.770 example like what I was thinking about initially was for actually
01:13:44.770 --> 01:13:49.509 it's mapping setup now yeah, the outmode is uh force for
01:13:49.509 --> 01:13:50.840 whatever, right.
01:13:51.220 --> 01:13:51.480 Hmm.
01:13:51.410 --> 01:13:55.407 But then the problem is that this this drives the T4 output
01:13:55.407 --> 01:13:59.471 for the mapping layer, which is what would be used for every
01:13:59.471 --> 01:14:02.470 endpoint that needs assails collection base.
01:14:02.480 --> 01:14:05.334 So every single thing that goes through that mapping layer would
01:14:05.334 --> 01:14:05.730 hit this.
01:14:05.820 --> 01:14:10.007 We would have to, we could make a four connect endpoint, but we
01:14:10.007 --> 01:14:14.195 would have to write the query by hand for it so that it didn't,
01:14:14.195 --> 01:14:15.700 uh affect other things.
01:14:14.920 --> 01:14:18.218 Which then has to be maintained over time to like at every
01:14:16.290 --> 01:14:18.250 And then, yeah, and then that's extra maintenance.
01:14:18.218 --> 01:14:21.739 property that gets added to the to the sales collection and et
01:14:21.739 --> 01:14:23.640 cetera all the way down the line.
01:14:23.650 --> 01:14:26.382 It will always have to be maintained and manually within
01:14:26.382 --> 01:14:29.162 that endpoint, so there's a potential for it to be coming
01:14:29.162 --> 01:14:31.942 out of date with how other changes have been happening in
01:14:31.942 --> 01:14:32.470 the system.
01:14:34.200 --> 01:14:36.700 So the alternative.
01:14:40.070 --> 01:14:40.680 The check something.
01:14:47.290 --> 01:14:49.470 Where are all the places this is defined?
01:14:54.990 --> 01:14:57.050 And where are all the places that it's set?
01:14:58.520 --> 01:15:01.040 Actually, I'm just go look at the possible values for this.
01:15:02.350 --> 01:15:04.220 OK, so this is the one named API.
01:15:04.370 --> 01:15:08.982 If this gets set properly, then in theory we could do a custom
01:15:08.982 --> 01:15:10.520 mapping hook as well.
01:15:11.550 --> 01:15:16.260 Umm for sales. Cool.
01:15:16.270 --> 01:15:18.854 Well, have to be for like orders specifically, which is actually
01:15:18.854 --> 01:15:19.650 that's kind of fine.
01:15:21.820 --> 01:15:26.840 Sales over the crud my flow dot extended.
01:15:28.010 --> 01:15:28.780 Umm, theoretically.
01:15:28.230 --> 01:15:29.570 Because it is.
01:15:29.580 --> 01:15:32.622 It only orders that have the targeted shipping, not invoices
01:15:29.710 --> 01:15:30.310 Umm.
01:15:32.622 --> 01:15:33.720 or quotes or anything.
01:15:34.560 --> 01:15:39.664 I believe that those would be the only places you would see
01:15:39.664 --> 01:15:40.770 which McCall.
01:15:40.780 --> 01:15:42.810 It's yes, uh shipping contacts.
01:15:43.580 --> 01:15:45.330 What we could do is we could do if.
01:15:52.140 --> 01:15:56.387 If it's the global API, the Connect API, then we could add a
01:15:56.387 --> 01:15:59.800 hook on the end that grabs the shipping contact.
01:16:00.510 --> 01:16:04.392 Umm and puts it on there so that it only affects calls being made
01:16:04.392 --> 01:16:07.686 by connect, not calls made by their normal admin API or
01:16:07.686 --> 01:16:08.510 anything else.
01:16:14.380 --> 01:16:19.389 Well, my upper four sitting on this order dot create sales
01:16:14.610 --> 01:16:14.960 Awesome.
01:16:14.970 --> 01:16:15.280 Thank you.
01:16:19.389 --> 01:16:24.653 order model for amenity hooks by the way, if you're not using
01:16:24.653 --> 01:16:29.323 this shorthand, every capital letter, Visual Studio or
01:16:29.323 --> 01:16:32.210 Intellisense will find the thing.
01:16:32.220 --> 01:16:34.480 So if you know the initials, you can do that.
01:16:35.060 --> 01:16:38.130 My favorite place to do that is with context profile name,
01:16:38.130 --> 01:16:41.304 because in certain places it's really annoying to type right
01:16:41.304 --> 01:16:44.530 here you just CPN tab and it gets the whole thing lowercase C
01:16:44.530 --> 01:16:47.860 capital P, capital N hit tab and it just dumps the whole thing.
01:16:47.930 --> 01:16:48.760 Saves you a lot of time.
01:16:50.990 --> 01:16:53.670 Community hooks list.
01:16:56.680 --> 01:17:00.180 Team model and context profile name.
01:17:02.600 --> 01:17:04.330 I'm a model where you complaining.
01:17:04.340 --> 01:17:04.970 OK bye.
01:17:06.020 --> 01:17:06.420 Cool.
01:17:06.480 --> 01:17:13.393 So then only in and I'll add account here for the Connect
01:17:13.393 --> 01:17:13.870 API.
01:17:14.180 --> 01:17:21.607 That's Lobal API at a hooked to include the shipping contact on
01:17:21.607 --> 01:17:23.580 all sales orders.
01:17:25.440 --> 01:17:31.623 Not getting this on all API so it doesn't blow this font sizes
01:17:31.623 --> 01:17:34.470 in the admin slash et cetera.
01:17:35.310 --> 01:17:35.540 Cool.
01:17:36.520 --> 01:17:43.550 And then what we can do is if OK like D shipping contact ID.
01:17:43.800 --> 01:17:49.250 So if there is a shipping contact ID to load then oopsies.
01:17:51.920 --> 01:17:58.090 And contact uh null coalescence 2. Umm.
01:18:00.940 --> 01:18:01.750 Let's see here.
01:18:03.920 --> 01:18:04.510 I can't.
01:18:04.560 --> 01:18:05.110 I can't do that.
01:18:05.120 --> 01:18:08.490 I'll have to actually go through the whole the whole thing.
01:18:08.500 --> 01:18:10.730 So we need a database context then.
01:18:22.130 --> 01:18:22.890 Contacts.
01:18:25.330 --> 01:18:30.310 Filtered by I, interactive by ID.
01:18:34.320 --> 01:18:36.580 TV that shipping contact ID.
01:18:38.550 --> 01:18:47.420 Uh umm, so elect first, is there a slight light?
01:18:47.870 --> 01:18:48.680 I don't want that.
01:18:48.690 --> 01:18:52.060 I want to single light.
01:18:52.150 --> 01:18:52.600 That's good.
01:18:56.020 --> 01:18:56.480 Cool.
01:18:56.550 --> 01:18:59.835 So now if there's an A shipping contact ID to map out and it
01:18:59.835 --> 01:19:02.420 hasn't already been mapped by some other layer.
01:19:02.430 --> 01:19:04.895 So like a full order would already have it, then it'll null
01:19:04.895 --> 01:19:05.060 COA.
01:19:05.070 --> 01:19:09.930 Less to reading it out and getting a light mapped.
01:19:11.270 --> 01:19:17.600 Contact model cool and similar we can do on the.
01:19:20.050 --> 01:19:20.920 Other one OK also.
01:19:20.930 --> 01:19:23.200 So here's kind of what we're looking at off the bat.
01:19:23.510 --> 01:19:25.718 This is sitting my local develop APIs will be able to see the
01:19:25.718 --> 01:19:26.110 difference.
01:19:28.720 --> 01:19:29.130 You know what?
01:19:29.140 --> 01:19:32.029 I'll just copy this whole thing and they would have no pad, so
01:19:32.029 --> 01:19:34.460 we can give it a nice side by side here in a minute.
01:19:36.380 --> 01:19:37.270 Umm cool.
01:19:37.350 --> 01:19:41.847 So I got 5 minutes, but I think we can pretty much do the same
01:19:41.847 --> 01:19:45.630 thing for invoices and getting the payments on them.
01:19:51.150 --> 01:19:51.910 Risk checker chat.
01:20:03.280 --> 01:20:07.220 Date sales invoice model from and he hooks list.
01:20:10.420 --> 01:20:13.980 Not all and that guy.
01:20:28.640 --> 01:20:32.970 And then we will do model dot.
01:20:35.750 --> 01:20:38.690 And this is the why does it not know what that is?
01:20:48.400 --> 01:20:51.020 Use expression body for Lambda expression.
01:20:51.060 --> 01:20:53.508 Ohh, because once it's turned this into an error, that would
01:20:53.508 --> 01:20:53.870 be funny.
01:20:54.300 --> 01:20:55.430 Don't need you to do that.
01:20:55.980 --> 01:20:58.080 OK, so.
01:21:01.740 --> 01:21:03.050 You payments probably.
01:21:07.930 --> 01:21:08.560 Whoa.
01:21:08.670 --> 01:21:09.300 That's cool.
01:21:09.470 --> 01:21:10.550 Didn't mean to press that button.
01:21:18.650 --> 01:21:19.580 Sure it can.
01:21:19.690 --> 01:21:20.510 Don't worry about it.
01:21:26.310 --> 01:21:27.580 Sales invoice payments.
01:21:27.590 --> 01:21:28.570 OK, cool.
01:21:29.210 --> 01:21:32.950 Umm, so let me do sales invoice payments.
01:21:36.020 --> 01:21:36.530 That's.
01:21:40.800 --> 01:21:43.650 Text sales invoice payments.
01:21:47.150 --> 01:21:54.040 Filter by active filter I the master ID.
01:21:57.480 --> 01:21:58.130 I hate.
01:21:58.200 --> 01:22:00.770 I hate having to specify all of this, umm.
01:22:05.320 --> 01:22:05.990 I'll just do it.
01:22:14.370 --> 01:22:19.880 And master ID would be entity ID. Umm.
01:22:22.160 --> 01:22:22.870 And select.
01:22:26.580 --> 01:22:27.160 Right.
01:22:27.350 --> 01:22:28.580 And map.
01:22:28.620 --> 01:22:30.950 That's that in to list.
01:22:32.950 --> 01:22:33.280 Cool.
01:22:33.290 --> 01:22:35.930 So we'll make that come out as well.
01:22:37.230 --> 01:22:43.260 And in theory, this guy should already have.
01:22:43.300 --> 01:22:44.820 Yeah, the payment gets forced.
01:22:44.870 --> 01:22:48.178 Forced mapped out on list, meaning it should always be
01:22:48.178 --> 01:22:52.087 there, which means that I could actually make this a select list
01:22:52.087 --> 01:22:53.110 instead of light.
01:22:53.840 --> 01:22:56.819 The don't include that even on the list, and you'll have the
01:22:56.819 --> 01:22:59.359 payment which would have the transaction number and
01:22:59.359 --> 01:23:00.190 everything. Cool.
01:23:00.580 --> 01:23:02.740 Let me clean up behind myself a little bit.
01:23:07.780 --> 01:23:09.400 I'll clean up the rest of that after we're done here.
01:23:12.360 --> 01:23:15.840 Until the app pools you build.
01:23:19.310 --> 01:23:20.540 Take a bite of my pop tart.
01:23:31.330 --> 01:23:33.500 What kind of pops are rainbow sprinkles?
01:23:33.510 --> 01:23:34.470 Or like brown sugar.
01:23:35.080 --> 01:23:36.760 Brown sugar, hmm.
01:23:36.130 --> 01:23:37.240 Brown sugar, best pop tarts.
01:23:36.950 --> 01:23:38.320 Come in and those are so good.
01:23:37.760 --> 01:23:41.180 It is by far I mean it's fire, it's good.
01:23:38.220 --> 01:23:38.820 That's the best.
01:23:40.930 --> 01:23:41.640 They're pretty good.
01:23:42.500 --> 01:23:42.770 I have.
01:23:42.780 --> 01:23:46.600 Uh, I did try the uh, tried the pumpkin ones.
01:23:44.020 --> 01:23:44.570 Like your style.
01:23:46.900 --> 01:23:47.370 They're not bad.
01:23:48.950 --> 01:23:49.270 Or not.
01:23:49.970 --> 01:23:51.160 Smores is a close second.
01:23:51.890 --> 01:23:54.380 Smores is pretty good too surprisingly.
01:23:56.810 --> 01:23:58.460 Can't go wrong with the brown sugar, though.
01:23:58.960 --> 01:23:59.570 Umm.
01:23:59.070 --> 01:23:59.290 Yep.
01:23:59.620 --> 01:24:03.957 I turned into a just for everyone's, for everyone's joy
01:24:03.957 --> 01:24:08.140 and fantastic mental image between the months of like
01:24:08.140 --> 01:24:13.097 September to December, I turned into a A the teenage white girl
01:24:13.097 --> 01:24:16.660 because all things pumpkin, I love that ****.
01:24:19.240 --> 01:24:19.780 I just.
01:24:19.840 --> 01:24:22.490 I just be eating pumpkin stuff for like 3 months straight.
01:24:24.700 --> 01:24:26.540 I got pumpkin spice hot chocolate.
01:24:24.840 --> 01:24:25.530 It's very yummy.
01:24:25.650 --> 01:24:26.370 Take care man.
01:24:26.550 --> 01:24:27.070 It's delicious.
01:24:27.760 --> 01:24:29.240 Well, I mean that sounds so good right now.
01:24:30.430 --> 01:24:33.749 And we refer to you as Brendan Spice whenever November comes
01:24:30.570 --> 01:24:31.260 Controversial.
01:24:33.180 --> 01:24:33.730 Put this.
01:24:33.749 --> 01:24:34.130 around.
01:24:35.610 --> 01:24:39.257 OK, now we're really getting to the the, the, the fantastic
01:24:39.257 --> 01:24:40.230 mental pictures.
01:24:43.380 --> 01:24:46.341 And every time we say that you have to like, quiver your upper
01:24:46.341 --> 01:24:48.080 lip a little bit with your mustache.
01:24:47.510 --> 01:24:49.240 Yeah, I'll do the.
01:24:49.330 --> 01:24:51.100 I'll do the the what was it?
01:24:51.110 --> 01:24:55.245 The Salt Bay thing where you like drizzles the spice or the
01:24:55.245 --> 01:24:56.830 salt or whatever. Yeah.
01:24:56.890 --> 01:24:58.380 The pumpkin Spice salt Bay.
01:25:03.660 --> 01:25:06.010 Alright, no, you're good.
01:25:04.230 --> 01:25:06.240 Sorry to interrupt back to our programming.
01:25:07.980 --> 01:25:10.540 Back to the regularly scheduled programming.
01:25:14.670 --> 01:25:16.060 Yeah, that's an easy slapper.
01:25:16.170 --> 01:25:17.820 Just in time for the build to be done too.
01:25:17.930 --> 01:25:21.498 Alright, so now in theory we fire this request and we have
01:25:21.498 --> 01:25:24.220 significantly more useful information on it.
01:25:25.490 --> 01:25:28.300 Umm, hopefully including the shipping contact.
01:25:28.390 --> 01:25:32.364 Ohh wait, only problem with that, this is not that API and
01:25:32.364 --> 01:25:34.790 it will make that an issue for you.
01:25:44.570 --> 01:25:48.390 I sure don't have that, just going to use.
01:25:47.140 --> 01:25:47.460 The job.
01:25:47.470 --> 01:25:48.330 Happy Friday everybody.
01:25:48.400 --> 01:25:49.080 We have a great weekend.
01:25:50.580 --> 01:25:50.960 Thanks Chris.
01:25:53.110 --> 01:25:54.460 Thank you. Years.
01:25:57.340 --> 01:25:58.200 That's not 07.
01:26:00.780 --> 01:26:01.270 Save it.
01:26:02.450 --> 01:26:02.690 OK.
01:26:03.170 --> 01:26:05.160 Go on, get that in there.
01:26:05.310 --> 01:26:07.330 Go back over here till that.
01:26:07.470 --> 01:26:07.900 Fire away.
01:26:08.820 --> 01:26:10.680 And we'll have to wait for the app pool to wake up again. But.
01:26:13.960 --> 01:26:17.410 We shall see Tim on the subject of strawberry Pop tarts.
01:26:17.460 --> 01:26:22.131 Uh actually bought one of those huge jazz boxes that has
01:26:22.131 --> 01:26:26.720 strawberry and brown sugar pop tarts like 48 pop Tarts.
01:26:26.100 --> 01:26:27.330 Our brown sugar is the way to go.
01:26:26.230 --> 01:26:26.530 Yeah.
01:26:28.260 --> 01:26:29.030 They're both.
01:26:29.130 --> 01:26:29.740 They're both great.
01:26:31.630 --> 01:26:32.260 Umm.
01:26:33.140 --> 01:26:34.190 Internal server.
01:26:34.280 --> 01:26:38.290 What do we have in here?
01:26:39.570 --> 01:26:44.325 Type initializer for your face through an exception and able to
01:26:44.325 --> 01:26:49.080 create an instance for registry type pricing provider registry.
01:26:49.090 --> 01:26:53.070 Please check the inner exception for details missing method.
01:26:56.170 --> 01:26:56.650 Well.
01:26:59.950 --> 01:27:01.240 Well, that's just ridiculous.
01:27:00.380 --> 01:27:00.550 Just.
01:27:02.870 --> 01:27:06.530 Umm, when in doubt, nuclear fire bomb.
01:27:11.300 --> 01:27:15.540 Which is to say, all of you go away.
01:27:14.520 --> 01:27:18.814 Yes, he is my script still in the rid of that that you can
01:27:18.814 --> 01:27:20.270 just use to do that.
01:27:20.280 --> 01:27:26.470 Nuclear firebomb it should be like a clean all, yeah.
01:27:21.760 --> 01:27:22.710 It probably is.
01:27:22.720 --> 01:27:23.970 I'm just there.
01:27:23.980 --> 01:27:26.610 Is I at the deep clean shell script?
01:27:26.620 --> 01:27:27.190 It's still in there.
01:27:27.200 --> 01:27:29.551 I'm just doing a smaller version of it so I don't have the full
01:27:29.551 --> 01:27:30.580 rebuild the entire solution.
01:27:31.540 --> 01:27:33.380 Ohh, you're gonna be here to further five hours.
01:27:34.710 --> 01:27:35.440 It takes about.
01:27:35.450 --> 01:27:39.512 It takes a little over 2 minutes on my machine, so not too bad.
01:27:38.900 --> 01:27:41.240 Ooh, look at Mr Dasa over here.
01:27:39.512 --> 01:27:40.020 It's it.
01:27:41.320 --> 01:27:42.270 I listen.
01:27:42.740 --> 01:27:46.250 Listen, all I'm saying is nothing makes me happier.
01:27:46.260 --> 01:27:47.470 And now I'm now.
01:27:47.480 --> 01:27:49.589 I'm the chump cause everyone has more cores than me, but nothing
01:27:49.589 --> 01:27:51.633 makes me happier than going to this tab and just look into all
01:27:51.633 --> 01:27:52.250 these little boxes.
01:27:53.090 --> 01:27:54.110 Good Lord.
01:27:55.240 --> 01:27:55.740 That's awesome.
01:27:57.210 --> 01:27:59.960 Now 24, now 24 threads is like me.
01:27:57.230 --> 01:27:57.450 Yeah.
01:27:57.380 --> 01:28:03.390 So that that's come up a few times for some different people.
01:28:00.000 --> 01:28:00.410 Who cares?
01:28:03.440 --> 01:28:07.052 Certain people seem to have really lower end hardware or
01:28:07.052 --> 01:28:09.270 ******** hard drives, or whatever.
01:28:09.600 --> 01:28:14.778 I've asked you to get with like Brandon and stuff to order
01:28:14.778 --> 01:28:20.571 better hardware, so if if if you haven't done that, that's on you
01:28:16.740 --> 01:28:17.320 You're bad.
01:28:20.571 --> 01:28:21.800 at this point.
01:28:21.710 --> 01:28:26.313 I mean, I'm making that joke with 16 cores and two NVM, EI
01:28:26.313 --> 01:28:28.420 think the hardware is fine.
01:28:26.470 --> 01:28:26.670 Yeah.
01:28:32.970 --> 01:28:33.490 Did I?
01:28:33.500 --> 01:28:33.710 Yeah.
01:28:33.720 --> 01:28:36.951 OK, man, I'm gonna try to wake it up again and hope that it
01:28:36.951 --> 01:28:38.460 doesn't have the same issue.
01:28:43.400 --> 01:28:46.467 I'm hoping that that was just like an old DLL floating around
01:28:46.467 --> 01:28:47.210 somewhere that.
01:28:49.780 --> 01:28:51.600 That gave her a little panic and.
01:28:53.760 --> 01:28:58.150 Won't be, won't be no thing, but we shall see.
01:29:11.370 --> 01:29:12.070 Hey, OK cool.
01:29:12.080 --> 01:29:13.270 That's all was alright.
01:29:13.280 --> 01:29:16.780 So now what we should see is the invoice.
01:29:19.140 --> 01:29:20.340 Doesn't have payments on it.
01:29:20.350 --> 01:29:24.956 That's a shame, but did we at least get the shipping contact
01:29:24.956 --> 01:29:26.240 on the sub order?
01:29:32.500 --> 01:29:34.220 Sure didn't.
01:29:35.540 --> 01:29:36.330 Well, that sucks.
01:29:45.110 --> 01:29:46.550 There's some break points around.
01:29:51.790 --> 01:29:52.180 See.
01:29:55.120 --> 01:29:55.390 We.
01:29:57.600 --> 01:29:58.620 Didn't hit any of them.
01:29:59.040 --> 01:30:01.090 They shouldn't be cached, but apparently it's.
01:30:03.760 --> 01:30:05.360 Not going through those.
01:30:05.700 --> 01:30:08.760 So what else can I?
01:30:08.830 --> 01:30:12.830 I mean, I guess I can try to flush the cache.
01:30:12.890 --> 01:30:13.920 Shouldn't be cached?
01:30:15.420 --> 01:30:16.710 And really dumb question.
01:30:16.780 --> 01:30:18.440 You're attached to the API pool, right?
01:30:19.160 --> 01:30:19.860 Not the storefront.
01:30:19.490 --> 01:30:24.110 I I put it on API admin but yeah I am uh, it's only one that's
01:30:24.110 --> 01:30:25.430 running right now.
01:30:31.890 --> 01:30:32.130 Yeah.
01:30:32.140 --> 01:30:34.634 The only thing that's running is the one that I'm hitting right
01:30:34.634 --> 01:30:37.050 now, which like set to put it on the API admin app pool. But.
01:30:35.600 --> 01:30:39.921 I thought you went to Postman was like I thought I was
01:30:39.921 --> 01:30:40.550 reading.
01:30:40.560 --> 01:30:41.890 It was just hitting the API pool.
01:30:42.610 --> 01:30:43.290 Yeah, I am.
01:30:43.300 --> 01:30:46.890 I just put it on the API admin app pool and I S because I'm
01:30:46.110 --> 01:30:47.020 Ohh you mean you can.
01:30:46.890 --> 01:30:47.190 lazy.
01:30:47.070 --> 01:30:50.110 You can figure IS too gotcha.
01:30:48.670 --> 01:30:52.697 Yeah, I S is using the API app, the API Admin app pool for the
01:30:52.697 --> 01:30:56.150 API application which is the application I'm hitting.
01:30:56.230 --> 01:30:56.700 I'm lazy.
01:30:56.710 --> 01:30:59.320 I still wanna make another app pool right now, umm.
01:31:01.530 --> 01:31:01.880 OK.
01:31:01.890 --> 01:31:02.270 Well, let's.
01:31:05.740 --> 01:31:06.710 You have broken everything.
01:31:06.720 --> 01:31:08.010 I thought I do about self development.
01:31:12.050 --> 01:31:12.270 Sorry.
01:31:15.920 --> 01:31:18.260 We are we getting into here at least?
01:31:23.520 --> 01:31:24.800 OK, we're getting here.
01:31:38.480 --> 01:31:44.480 OK, so we're getting straight into the ill factory function.
01:31:44.540 --> 01:31:48.460 So what in the Hell's going on?
01:31:49.740 --> 01:31:53.240 Too bad select first fold and map to model.
01:31:58.990 --> 01:31:59.820 OK, I don't need.
01:31:59.830 --> 01:32:00.980 I don't need to step into that.
01:32:00.990 --> 01:32:03.190 I need to get into the map herself, please.
01:32:04.020 --> 01:32:05.230 There we go.
01:32:05.240 --> 01:32:06.160 Now we're getting somewhere.
01:32:08.310 --> 01:32:08.620 OK.
01:32:11.090 --> 01:32:12.310 The sales group.
01:32:13.430 --> 01:32:15.550 Oh, I might know what's happening actually.
01:32:25.480 --> 01:32:26.460 Bit and that.
01:32:28.500 --> 01:32:35.708 Nothing is nothing has touched the workflows for those types to
01:32:35.708 --> 01:32:41.340 trigger the static constructors to run, yet sell.
01:32:41.350 --> 01:32:42.660 Those folks have not been added.
01:32:44.520 --> 01:32:46.940 I bet you that that's what it is.
01:32:48.510 --> 01:32:52.573 So if you hit an endpoint that's on the workflow that would do it
01:32:52.180 --> 01:32:54.070 Yeah, it would wake it up, yeah.
01:32:52.573 --> 01:32:55.960 initially before you run this, it will be there, yeah.
01:32:56.540 --> 01:32:59.080 Yeah, and I'll.
01:32:59.200 --> 01:33:00.220 I'll think about it.
01:33:00.410 --> 01:33:02.460 Way to get around that.
01:33:04.650 --> 01:33:09.083 Yeah, it it would have hit that breakpoint as it went through
01:33:09.083 --> 01:33:12.730 invoices and wherever sub sales orders is on here.
01:33:13.690 --> 01:33:16.280 I I'm seeing it flash through the thing.
01:33:15.140 --> 01:33:15.520 There it is.
01:33:16.290 --> 01:33:21.073 If you hold the mouse for just a second of a spot, you have the
01:33:21.073 --> 01:33:23.390 run to debugger arrow still on.
01:33:23.710 --> 01:33:25.480 I really recommend turning that off.
01:33:27.110 --> 01:33:28.670 I'll yeah.
01:33:27.470 --> 01:33:30.455 Yeah, because that thing will pop up underneath your mouse and
01:33:30.455 --> 01:33:33.393 you'll accidentally click it cause you were trying to look at
01:33:31.570 --> 01:33:31.980 Hey Cortana.
01:33:33.393 --> 01:33:36.331 the beginning of the line and now it's changed the state that
01:33:36.331 --> 01:33:38.890 you're in because it's moved it to wherever that was.
01:33:39.530 --> 01:33:39.730 Yeah.
01:33:42.050 --> 01:33:42.630 I'll.
01:33:42.120 --> 01:33:44.644 Hate that stupid setting and it's so annoying that it's
01:33:44.644 --> 01:33:45.230 defaulted on.
01:33:45.950 --> 01:33:49.890 Yeah, there are lots of Visual Studio settings that puzzle me.
01:33:50.450 --> 01:33:50.820 Umm.
01:33:51.430 --> 01:33:54.100 But anyway, let me.
01:33:54.110 --> 01:33:57.277 I'm just gonna let this run through real quick and just for
01:33:57.277 --> 01:33:58.280 goofs I'm going to.
01:34:00.130 --> 01:34:02.720 Uh try to wake up the sales order ones.
01:34:04.960 --> 01:34:08.580 And the invoice ones they should have run the static constructor
01:34:08.580 --> 01:34:11.756 for those because it should have managed to get into the
01:34:11.756 --> 01:34:14.430 workflows and try to run some code before that.
01:34:14.920 --> 01:34:17.300 Now, with any luck, we'll hit the.
01:34:21.280 --> 01:34:22.300 OK, well.
01:34:24.450 --> 01:34:25.230 That's unfortunate.
01:34:25.720 --> 01:34:27.130 Ohh, because I'm dumb.
01:34:27.180 --> 01:34:30.100 It's a invoicing sales invoice.
01:34:31.430 --> 01:34:32.760 There we go to 04. No content.
01:34:32.770 --> 01:34:32.900 Yeah.
01:34:33.920 --> 01:34:35.330 Or four was not what I needed there.
01:34:37.430 --> 01:34:39.340 As far as ordering sales order.
01:34:41.300 --> 01:34:45.437 Oh well, this one's actually apparently in order that exists,
01:34:45.437 --> 01:34:49.240 as it were, and now it should have initialized those two
01:34:49.240 --> 01:34:52.110 workflows and I can go here, run this and.
01:34:52.120 --> 01:34:56.972 OK, so we got these sales invoice on read the the invoice
01:34:56.972 --> 01:34:58.060 payments out.
01:34:58.070 --> 01:35:02.949 So we got that, which does in fact have the payment on it
01:35:02.949 --> 01:35:06.820 amount probably transaction number down here.
01:35:07.290 --> 01:35:08.130 Yep, sure enough.
01:35:09.640 --> 01:35:11.170 And the order one.
01:35:11.180 --> 01:35:15.340 OK, so obviously ideally we would make it so you don't have
01:35:15.340 --> 01:35:19.500 to hit unrelated endpoints to initialize the mapping there.
01:35:19.510 --> 01:35:21.490 I'll find a better way to do that before I PR.
01:35:21.500 --> 01:35:26.230 This should be pretty easy, but that got what we needed.
01:35:26.240 --> 01:35:31.151 So now the invoice has the list of all the payments tied to that
01:35:31.151 --> 01:35:35.533 invoice, including the amount of that payment, the status
01:35:35.533 --> 01:35:40.368 transaction number, and if I had woken up the payments one then
01:35:40.368 --> 01:35:43.920 it would have also had the account keys on it.
01:35:45.440 --> 01:35:46.560 So again, same deal.
01:35:46.570 --> 01:35:47.770 I'll find a better way to handle that.
01:35:51.360 --> 01:35:56.820 But then the sub orders should also have the shipping contact
01:35:56.820 --> 01:36:01.400 on them, including the address country region. Yep.
01:35:58.560 --> 01:36:00.090 Uh, you are awesome.
01:36:01.610 --> 01:36:04.510 Go awesome and that's.
01:36:03.710 --> 01:36:05.970 That'll make common modeling it out to a lot easier.
01:36:06.700 --> 01:36:07.420 Umm yeah.
01:36:06.930 --> 01:36:08.100 Yeah, that makes sense.
01:36:08.170 --> 01:36:08.470 Cool.
01:36:08.530 --> 01:36:08.980 Awesome.
01:36:08.990 --> 01:36:10.500 Well, this was productive.
01:36:11.050 --> 01:36:12.220 Thank you so much man.
01:36:12.760 --> 01:36:12.970 Yeah.
01:36:12.770 --> 01:36:12.930 Yeah.
01:36:12.980 --> 01:36:13.260 Thank you.
01:36:13.960 --> 01:36:17.359 And again, this is like you saw how quickly this this kind of
01:36:17.359 --> 01:36:18.730 stuff can be cranked out.
01:36:18.740 --> 01:36:21.190 Again, a couple things I need to take care of, but when you guys
01:36:21.190 --> 01:36:23.414 come across stuff like this, especially like you just said
01:36:23.414 --> 01:36:25.526 like this will make this will make common model so much
01:36:25.526 --> 01:36:25.790 easier.
01:36:26.260 --> 01:36:29.071 The sooner you tell us stuff like that, the sooner we know
01:36:29.071 --> 01:36:31.740 that we can do it and it doesn't take much time at all.
01:36:32.400 --> 01:36:32.850 Umm.
01:36:33.050 --> 01:36:38.165 And so definitely just for any future things you come across in
01:36:38.165 --> 01:36:43.281 this in this vein, let us know for sure we're we're on the same
01:36:43.281 --> 01:36:45.440 team at the end of the day.
01:36:45.390 --> 01:36:46.010 Yeah, it's awesome.
01:36:45.450 --> 01:36:48.790 So yeah, cool.
01:36:48.800 --> 01:36:51.220 Well, we're all over 10 minutes past.
01:36:51.230 --> 01:36:54.860 So uh yeah, I think so.
01:36:52.400 --> 01:36:57.826 It was worth it that that was such a between me and Greg, we
01:36:57.826 --> 01:37:03.342 had to figure out a A SQL query to get all the information we
01:37:03.342 --> 01:37:09.125 needed for PBC and one call and and now of seeing that done like
01:37:04.990 --> 01:37:05.220 Umm.
01:37:09.125 --> 01:37:09.570 that.
01:37:09.580 --> 01:37:10.240 Thank you so much.
01:37:10.840 --> 01:37:11.180 Yeah.
01:37:11.230 --> 01:37:11.680 No problem.
01:37:13.350 --> 01:37:13.930 Uh.
01:37:13.650 --> 01:37:14.050 Excellent.
01:37:13.940 --> 01:37:14.380 All right.
01:37:14.430 --> 01:37:15.830 Well, yeah, I think we're good to drop.
01:37:16.810 --> 01:37:17.730 Hey, have a great weekend everybody.
01:37:18.190 --> 01:37:18.980 Have a good weekend guys.
01:37:18.670 --> 01:37:19.720 Talk to y'all later.
01:37:19.950 --> 01:37:20.260 See ya.
01:37:20.040 --> 01:37:20.570 Thanks guys.
01:37:20.370 --> 01:37:20.780 Take care.
01:37:20.580 --> 01:37:20.780 See you.