[Magda Zacharska] 10:36:18
We have less than 30 min left and I would like to spend this time talking about that and getting your feedback regarding architectural improvements. This is a a big endeavor to make architectural changes, we need to start them early to make sure we have enough time to test it properly.
[Magda Zacharska] 10:36:50
And this will definitely affect the Bulk Edit road map I don't think we will be able to talk about this today.
[Magda Zacharska] 10:36:59
I'm also in the process of updating a Bulk Edit road map, so we will return to to this next time we meet.
[Magda Zacharska] 10:37:10
So why did we decided to make architectural improvements? In Morning Glory when we did performance testing, the goal was to support editing at least 100,000 records?
[Magda Zacharska] 10:37:31
We realize that the architecture does not support that, and the performance is even worse if there are other application using export manager: exporting EDIFACT records, Bursar exprot, or circulation log exports.
[Magda Zacharska] 10:37:59
All of those when they are happening they have an impact on bulk edit.
[Magda Zacharska] 10:38:03
So, after further analysis of the code our Solution Architect proposed we redesign and separate Bulk Edit from Export Manager so that it is not affected by all the other things that are happening while other exports export the data. I added a link to the performance results from Morning Glory, and you can take a look at them when you have a chance.
[Magda Zacharska] 10:38:50
I added the link to the proposed proposed design, and I would like to spend a couple of minutes talking about it. I will not be going into the technical details, but there is one part I would like to spend a couple of minutes on. It's a bulk operation states. Because this describes how the data is being processed.
[Magda Zacharska] 10:39:17How will be processed? They will be several states. Not all of them will be implemented in scope of the Orchid release, but those that will include:Image Removed[Magda Zacharska] 10:40:13The third State is saving records[Magda Zacharska] 10:40:23. This is written Csv. [Magda Zacharska] 10:40:32 bug edit.[Magda Zacharska] 10:40:36Good [Magda Zacharska] 10:40:40 S. 3 web services.[Magda Zacharska] 10:40:48 they that [Magda Zacharska] 10:40:52 Csv . [Magda Zacharska] 10:40:57 there, the in the [Magda Zacharska] 10:41:01The next state is data money, a modification. - Data Modification - This is when the user specifies what changes will happen either in the in
up Cse - CSV approach for user records.
[Magda Zacharska] 10:41:18Next state is reviewing changes. - Review Changes - This is where the records are being displayed on
.[Magda Zacharska] 10:41:24Are ? form the the last one? The apply changes is the last one that we are mostly familiar with.[Magda Zacharska] 10:41:37This is when the changes are being committed to the to the records stored in the - form.
- Apply Changes - This is when the changes are being committed to the records stored in the storage modules.
[Magda Zacharska] 10:41:46 so the suspense status - Suspended - This is one of the statuses that we will not support
.[Magda Zacharska] 10:41:55Yet in our this - in Orchid. This will be implemented later, when the user will be able to suspend
.[Magda Zacharska] 10:42:05The - the bulk edit. This will obviously require further discussion.
[Magda Zacharska] 10:42:10How we want to implement that completed. - Completed - This is self self-
explanatory, [Magda Zacharska] 10:42:19And this is - It is when the job that was completed
, and [Magda Zacharska] 10:42:23
The next one. This will errors when you will get the notification, and that it completed.
[Magda Zacharska] 10:42:30But they were errors, - Completed with errors - This is when the job is completed with errors and you will still see the errors in the error accordion
, and the the next one is cancelled.[Magda Zacharska] 10:42:40- .
- Cancelled - We are not going to support canceling jobs in Orchid. This is something to discuss later.
- Scheduled - We are not going to support canceling jobs in Orchid.
in orchid - This is something to discuss later
that's also the case for scheduled also results for the future, and failed.[Magda Zacharska] 10:42:55- .
- Failed - This is when something went wrong and
did not, and and was not[Magda Zacharska] 10:43:04And and - the operation did not complete.
Image Added[Erin Nettifee] 10:43:08
Can I ask some questions, Magna: Sure. So this list of statuses is this something that is just part of the new design?
[Magda Zacharska] 10:43:19
Is this something that would end up being exposed in an that the bulkheaded app both?
[Magda Zacharska] 10:43:25
Yes, so th. This is a part of the new design, and it will be something that will be. exp.
[Magda Zacharska] 10:43:32
Then exposed in Bug edit, and the way we are going to do this.
[Erin Nettifee] 10:43:37
It's by adding additional tab to back edit. Please let me know if you can see this is probably a little bit so small.
[Erin Nettifee] 10:43:49
But yeah, no, this is better. now. yeah, that's a little bit better.
[Magda Zacharska] 10:43:53
Okay, so you'll see this in other logs. tab. So in addition to identifier query and logs, this would be again driven by permissions.
[Magda Zacharska] 10:44:10
But if you have permission, you can see the log and the standard for your filtering and the functionality by status by record type.
[Magda Zacharska] 10:44:24
What recorded type was export and modified.
[Magda Zacharska] 10:44:28
And then type of bucketed operation it was if it was bucketed or bug delete.
[Erin Nettifee] 10:44:35
When the job started when the job ended. Okay, So this is kind of like deciding to build our own version of the export manager stuff just for bulk edit, so that it can be customized to bulk at
[Magda Zacharska] 10:44:53
its ,
[Erin Nettifee] 10:44:59
It has a more information. You get more data here. So what you have here you have okay, barg, edit operation, type, record type status.
[Magda Zacharska] 10:45:12
Those are the status that we mentioned. this is who ran it when it started running when it ended running the number of records.
[Erin Nettifee] 10:45:24
That was okay affected. How many records like how many records were requested?
[Magda Zacharska] 10:45:32
How many records were were processed. Was it the editing in app or Manual Manual? is the
[Magda Zacharska] 10:45:41
Csv. approach, name a replacement, and here you have dogs, information or empty.
[Magda Zacharska] 10:45:48
If the actions are empty, it means no files were created, and it's at this point no files are available.
[Magda Zacharska] 10:45:57
When you click on, Doc, this will be the next screen shot up.
[Magda Zacharska] 10:46:02
This is this: again. so clicking on the action menu will give you the option to download the file, and you can download each of the files that are being created in the process of of bug editing so
[Magda Zacharska] 10:46:25
First it starts with the with the file. you can retrieve the file that you use to trigger the bug edit.
[Magda Zacharska] 10:46:33
Then the matching records errors that were accounted during the matching the the preview of the changes.
[Magda Zacharska] 10:46:42
This is what is the equivalent on our issue? Form, then the list of it.
[Magda Zacharska] 10:46:50
Updated records and the file with er errors that were encountered by when the changes were committed.
[Erin Nettifee] 10:47:02
And so Thomas is asking about in the chat about whether the status is, and information that we're seeing here would be useful in the export and the export manager.
[Erin Nettifee] 10:47:15
App. But I think what i'm guessing is that when this is implemented, there will no longer be bulk at it.
[Magda Zacharska] 10:47:21
Stuff in export manager will just be all encompassed in its own interface.
[Magda Zacharska] 10:47:31
So when we go to the statuses there's one part that happens still in in the export manager.
[Magda Zacharska] 10:47:39
So when when the records are being retrieved from the back end.
[Erin Nettifee] 10:47:44
Okay, So this is what is happening in the export manager.
[Magda Zacharska] 10:47:50
But the file that is being created is being moved to debug edit short storage, so the file will not be accessible.
[Magda Zacharska] 10:47:59
We will see that the records are being retrieved.
[Magda Zacharska] 10:48:02
But we will not have those files at all in export management.
[Erin Nettifee] 10:48:11
Okay, that feels a little disjointed to me but I don't know if others have thoughts or on it.
[Erin Nettifee] 10:48:18
I think I would want to be able to see all the stuff just in one app.
[Magda Zacharska] 10:48:25
So you will see all the stuff in bug edit so you don't, You would see all the files in in bulk edit.
[Magda Zacharska] 10:48:39
You don't need to go to export. manager we can hide whatever is in export.
[Erin Nettifee] 10:48:46
Manager. So it's. not confusing for anyone okay, I mean this is all kind of abstract, so you i'm not advocating for a particular decision.
[Thomas Trutt] 10:48:56
I don't think but yeah go ahead thomas sounded like you were about to say something
[Thomas Trutt] 10:49:05
Popping up in the export manager. Then other things popping up hidden here are duplicated over here.
[Thomas Trutt] 10:49:12
My big worry about this is I like the different statuses.
[Thomas Trutt] 10:49:18
I had, like all the information as being shown here. But are we solving the issue?
[Magda Zacharska] 10:49:24
Are we just moving it to another app? So they were. Yeah, we we first of all, we are not competing for resources in with another applications.
[Magda Zacharska] 10:49:37
That was one of the issues we are facing. when
[Thomas Trutt] 10:49:44
When you look at this, the this is the status. This is just a top of what the skipping on the on the flow here is what is happening right now before Bug Bulk added.
[Magda Zacharska] 10:50:01
All the updates, everything that the most resource, greedy part of bug edit is actually saving the changes to the database and handling those changes occur accurately.
[Thomas Trutt] 10:50:14
This was until and Nolana. This has been done by.
[Magda Zacharska] 10:50:20
But export manager, which is not the place where those things should happen.
[Magda Zacharska] 10:50:28
This should be a bulk-added responsibility
[Thomas Trutt] 10:50:36
Does it answer your question a little bit? it it it's I still have a concern.
[Thomas Trutt] 10:50:43
The only reason why? I said is Yes, it's it's It's getting more access to the bulk at it back end process.
[Thomas Trutt] 10:50:48
Because now it's his own app and it's able to do all this processing on its own my worries is that it's still going to be computing with the export manager and other processes, because it's
[Thomas Trutt] 10:50:58
still going to be hitting the same Api endpoints on the other internal apps.
[Thomas Trutt] 10:51:03
So it might add, even compound it, because you now have 2 large apps hitting the same api's at the same time.
[Thomas Trutt] 10:51:12
I guess I could see where this might make a little bit more sense, because at the X data export, App was doing the updates moving that component out of it.
[Magda Zacharska] 10:51:23
And that does make sense. Because, like, why would you have updating data in the actually export?
[Magda Zacharska] 10:51:28
App and I see your point that we are hitting the the same like in case of hi, Thomason, holding.
[Magda Zacharska] 10:51:42
So we are. We are hitting the same environment with different apis
[Magda Zacharska] 10:51:51
But this will happen if somebody also exports, or does the oapm H.
[Magda Zacharska] 10:51:58
Or make any other inventory changes. this is not what we can prevent.
[Magda Zacharska] 10:52:06
What we know, however, that if something goes wrong we can identify the module, and we can handle this within a module.
[Magda Zacharska] 10:52:16
One module. and this is a good point. We probably will be coming to this once.
[Magda Zacharska] 10:52:22
We have a a performance test for the in place for the new for the new design.
[Magda Zacharska] 10:52:31
I was told this will resolve our problem with the limit of 10,000 records.
[Magda Zacharska] 10:52:42
At this time we should be able to go up in the number of records we can update through the bulk operation, but this definitely will not be a superb blood for inventory or circulation modules performance.
[Magda Zacharska] 10:53:06
I would like we have some of the minutes left. There is one more mockup that I would like to show.
[Magda Zacharska] 10:53:17
Is those
[Magda Zacharska] 10:53:22
Hi Tim, that have expired because we will be putting the record.
[Magda Zacharska] 10:53:28
The the files, a large number of files in the external in the external storage.
[Magda Zacharska] 10:53:37
We will keep them for a month. So for that bug edits that happen in the previous month, you will be able to access them.
[Magda Zacharska] 10:53:47
But then we will remove them, and the files that were removed will be marked with this information, as you see on the screen, plus unavailable for download, because 30 days have elapsed since the job was run
[Magda Zacharska] 10:54:04
in export manager currently you are getting the Xml error that tells you that the exploration talking elapsed, which is not very user friendly.
[Magda Zacharska] 10:54:15
That's why we decided to go this route to to notify the user that defaults and no longer, and
[Erin Nettifee] 10:54:31
So the 30 days then is hard coded. we can make it.
[Magda Zacharska] 10:54:41
We can make it configurable through the api because if it turns out it's a preferred approach.
[Magda Zacharska] 10:54:52
We will start with hardcoded value of of 30 records 30 days.
[Magda Zacharska] 10:54:58
This was the the value that was at some point proposed for the files that are being generated by data export as well.
[Erin Nettifee] 10:55:06
Does anyone have any comments? Sure, I mean that that and 30 days makes as much sense as anything to me?
[Erin Nettifee] 10:55:12
It might be worth a question to Sisops or to, you know, ebsco hosting or index data, just to get a sense.
[Erin Nettifee] 10:55:21
This, too, what they think of that number and configuration and stuff like that.
[Erin Nettifee] 10:55:27
But here I mean the the stuff that we would have to retain would be things like financial records, and we're just not.
[Erin Nettifee] 10:55:34
That's not what's happening here. so I I think 30 days, I think would would be okay.
[Erin Nettifee] 10:55:40
But it I it's probably worth just asking around
[Magda Zacharska] 10:55:50
So I run this obviously by obscure hosting team.
[Magda Zacharska] 10:55:55
And I do also believe that that may depends on size of the institution.
[Erin Nettifee] 10:56:04
Sure, the large institution that have larger about edits, and they have a larger file size same way.
[Magda Zacharska] 10:56:13
Also want to cop on calls of storing those files because they will be eating much more space than for smaller institution when they have a smaller and smaller file size, they will not be eating that much of this storage space and
[Thomas Trutt] 10:56:35
30 days may be not even required for them. They could go longer without running out of space or incurring costs, for it sounds like this is almost a from what you even just described.
[Thomas Trutt] 10:56:56
Now as this might move around based on the institution, and that would make more sense to have. This is a tenant level setting, or have it as an api endpoint that could be hit.
[Magda Zacharska] 10:57:05
You could say delete all files after the State that could be set as a cron job or something.
[Magda Zacharska] 10:57:11
I, Rather let the user the tenant to specify their grace period and yeah, that would be.
[Thomas Trutt] 10:57:23
That would be my preference, as well but if that's not possible.
[Magda Zacharska] 10:57:27
The second one would be having something that a host hit an Api and say, Remove these files up after this date sounds good.
[Magda Zacharska] 10:57:36
I will bring it up to the to the development team
[Magda Zacharska] 10:57:45
So this is it what I had for today?
[Magda Zacharska] 10:57:49
Do you have any comments, questions.
[Erin Nettifee] 10:57:59
I know how many i've
[Magda Zacharska] 10:58:12
Thank you all, and i'll see you in in 2 weeks and We will start with the roadmap updates.
[Erin Nettifee] 10:58:20
Thank you. Hey, Erin, Can you save that file?
[Erin Nettifee] 10:58:25
Yes, I will save it for you. Thank you. have a good one.