folio-migration-tools 1.2.1__py3-none-any.whl → 1.9.10__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. folio_migration_tools/__init__.py +11 -0
  2. folio_migration_tools/__main__.py +169 -85
  3. folio_migration_tools/circulation_helper.py +96 -59
  4. folio_migration_tools/config_file_load.py +66 -0
  5. folio_migration_tools/custom_dict.py +6 -4
  6. folio_migration_tools/custom_exceptions.py +21 -19
  7. folio_migration_tools/extradata_writer.py +46 -0
  8. folio_migration_tools/folder_structure.py +63 -66
  9. folio_migration_tools/helper.py +29 -21
  10. folio_migration_tools/holdings_helper.py +57 -34
  11. folio_migration_tools/i18n_config.py +9 -0
  12. folio_migration_tools/library_configuration.py +173 -13
  13. folio_migration_tools/mapper_base.py +317 -106
  14. folio_migration_tools/mapping_file_transformation/courses_mapper.py +203 -0
  15. folio_migration_tools/mapping_file_transformation/holdings_mapper.py +83 -69
  16. folio_migration_tools/mapping_file_transformation/item_mapper.py +98 -94
  17. folio_migration_tools/mapping_file_transformation/manual_fee_fines_mapper.py +352 -0
  18. folio_migration_tools/mapping_file_transformation/mapping_file_mapper_base.py +702 -223
  19. folio_migration_tools/mapping_file_transformation/notes_mapper.py +90 -0
  20. folio_migration_tools/mapping_file_transformation/order_mapper.py +492 -0
  21. folio_migration_tools/mapping_file_transformation/organization_mapper.py +389 -0
  22. folio_migration_tools/mapping_file_transformation/ref_data_mapping.py +38 -27
  23. folio_migration_tools/mapping_file_transformation/user_mapper.py +149 -361
  24. folio_migration_tools/marc_rules_transformation/conditions.py +650 -246
  25. folio_migration_tools/marc_rules_transformation/holdings_statementsparser.py +292 -130
  26. folio_migration_tools/marc_rules_transformation/hrid_handler.py +244 -0
  27. folio_migration_tools/marc_rules_transformation/loc_language_codes.xml +20846 -0
  28. folio_migration_tools/marc_rules_transformation/marc_file_processor.py +300 -0
  29. folio_migration_tools/marc_rules_transformation/marc_reader_wrapper.py +136 -0
  30. folio_migration_tools/marc_rules_transformation/rules_mapper_authorities.py +241 -0
  31. folio_migration_tools/marc_rules_transformation/rules_mapper_base.py +681 -201
  32. folio_migration_tools/marc_rules_transformation/rules_mapper_bibs.py +395 -429
  33. folio_migration_tools/marc_rules_transformation/rules_mapper_holdings.py +531 -100
  34. folio_migration_tools/migration_report.py +85 -38
  35. folio_migration_tools/migration_tasks/__init__.py +1 -3
  36. folio_migration_tools/migration_tasks/authority_transformer.py +119 -0
  37. folio_migration_tools/migration_tasks/batch_poster.py +911 -198
  38. folio_migration_tools/migration_tasks/bibs_transformer.py +121 -116
  39. folio_migration_tools/migration_tasks/courses_migrator.py +192 -0
  40. folio_migration_tools/migration_tasks/holdings_csv_transformer.py +252 -247
  41. folio_migration_tools/migration_tasks/holdings_marc_transformer.py +321 -115
  42. folio_migration_tools/migration_tasks/items_transformer.py +264 -84
  43. folio_migration_tools/migration_tasks/loans_migrator.py +506 -195
  44. folio_migration_tools/migration_tasks/manual_fee_fines_transformer.py +187 -0
  45. folio_migration_tools/migration_tasks/migration_task_base.py +364 -74
  46. folio_migration_tools/migration_tasks/orders_transformer.py +373 -0
  47. folio_migration_tools/migration_tasks/organization_transformer.py +451 -0
  48. folio_migration_tools/migration_tasks/requests_migrator.py +130 -62
  49. folio_migration_tools/migration_tasks/reserves_migrator.py +253 -0
  50. folio_migration_tools/migration_tasks/user_transformer.py +180 -139
  51. folio_migration_tools/task_configuration.py +46 -0
  52. folio_migration_tools/test_infrastructure/__init__.py +0 -0
  53. folio_migration_tools/test_infrastructure/mocked_classes.py +406 -0
  54. folio_migration_tools/transaction_migration/legacy_loan.py +148 -34
  55. folio_migration_tools/transaction_migration/legacy_request.py +65 -25
  56. folio_migration_tools/transaction_migration/legacy_reserve.py +47 -0
  57. folio_migration_tools/transaction_migration/transaction_result.py +12 -1
  58. folio_migration_tools/translations/en.json +476 -0
  59. folio_migration_tools-1.9.10.dist-info/METADATA +169 -0
  60. folio_migration_tools-1.9.10.dist-info/RECORD +67 -0
  61. {folio_migration_tools-1.2.1.dist-info → folio_migration_tools-1.9.10.dist-info}/WHEEL +1 -2
  62. folio_migration_tools-1.9.10.dist-info/entry_points.txt +3 -0
  63. folio_migration_tools/generate_schemas.py +0 -46
  64. folio_migration_tools/mapping_file_transformation/mapping_file_mapping_base_impl.py +0 -44
  65. folio_migration_tools/mapping_file_transformation/user_mapper_base.py +0 -212
  66. folio_migration_tools/marc_rules_transformation/bibs_processor.py +0 -163
  67. folio_migration_tools/marc_rules_transformation/holdings_processor.py +0 -284
  68. folio_migration_tools/report_blurbs.py +0 -219
  69. folio_migration_tools/transaction_migration/legacy_fee_fine.py +0 -36
  70. folio_migration_tools-1.2.1.dist-info/METADATA +0 -134
  71. folio_migration_tools-1.2.1.dist-info/RECORD +0 -50
  72. folio_migration_tools-1.2.1.dist-info/top_level.txt +0 -1
  73. {folio_migration_tools-1.2.1.dist-info → folio_migration_tools-1.9.10.dist-info/licenses}/LICENSE +0 -0
@@ -0,0 +1,476 @@
1
+ {
2
+ "$0 base uri or source code": "$0 base uri or source code",
3
+ "%{action} error. http status: %{status}": "%{action} error. http status: %{status}",
4
+ "%{action} error: %{message}": "%{action} error: %{message}",
5
+ "%{fields_criteria} empty or not set": "%{fields_criteria} empty or not set",
6
+ "%{field} a, x and z are missing or empty": "%{field} a, x and z are missing or empty",
7
+ "%{field} subfields a, x, and z missing from field": "%{field} subfields a, x, and z missing from field",
8
+ "%{fro} mapped from %{record}": "%{fro} mapped from %{record}",
9
+ "%{lost_type} and checked out": "%{lost_type} and checked out",
10
+ "%{props} were concatenated": "%{props} were concatenated",
11
+ "%{schema_value} added to %{prop_name}": "%{schema_value} added to %{prop_name}",
12
+ "%{tag} subfield %{subfield} not in field": "%{tag} subfield %{subfield} not in field",
13
+ "%{value} added to %{entry}": "%{value} added to %{entry}",
14
+ "%{value} mapped to %{mapped_value}": "%{value} mapped to %{mapped_value}",
15
+ "%{value} not found in map.": "%{value} not found in map.",
16
+ "0 is staff-only, all other values are public": "0 is staff-only, all other values are public",
17
+ "008 is too short": "008 is too short",
18
+ "008 length invalid. '%{rest}' was stripped out": "008 length invalid. '%{rest}' was stripped out",
19
+ "035 generation from 001 turned off": "035 generation from 001 turned off",
20
+ "1 is public, all other values are Staff only": "1 is public, all other values are Staff only",
21
+ "338$b is missing. Will try parse from 337$a and 338$a": "338$b is missing. Will try parse from 337$a and 338$a",
22
+ "Added 035 from 001": "Added 035 from 001",
23
+ "Additional 852$b was moved to 852$x": "Additional 852$b was moved to 852$x",
24
+ "Aged to lost and checked out": "Aged to lost and checked out",
25
+ "Already set to %{value}. %{leader_key} was %{leader}": "Already set to %{value}. %{leader_key} was %{leader}",
26
+ "An Unmapped": "An Unmapped",
27
+ "Authority records transformation report": "Authority records transformation report",
28
+ "BW Items found tied to previously created BW Holdings": "BW Items found tied to previously created BW Holdings",
29
+ "Bib identifier not in instances_id_map, no instance linked": "Bib identifier not in instances_id_map, no instance linked",
30
+ "Bib ids referenced in bound-with items": "Bib ids referenced in bound-with items",
31
+ "Bibliographic records transformation report": "Bibliographic records transformation report",
32
+ "Bound-with holdings created": "Bound-with holdings created",
33
+ "Bound-with items callnumber identified": "Bound-with items callnumber identified",
34
+ "Bound-with items identified by bib id": "Bound-with items identified by bib id",
35
+ "Change due date error": "Change due date error",
36
+ "Changed %{a} to %{b}": "Changed %{a} to %{b}",
37
+ "Check mapping file against the schema.": "Check mapping file against the schema.",
38
+ "Checked out on first try": "Checked out on first try",
39
+ "Checked out on second try": "Checked out on second try",
40
+ "Claim item returned": "Claim item returned",
41
+ "Claimed returned and checked out": "Claimed returned and checked out",
42
+ "Click to expand all %{count} things": {
43
+ "many": "Click to expand all %{count} things",
44
+ "one": "Click to expand one thing"
45
+ },
46
+ "Click to expand field report": "Click to expand field report",
47
+ "Code %{code} ('%{code_raw}') not found in FOLIO ": "Code %{code} ('%{code_raw}') not found in FOLIO ",
48
+ "Code '%{code}' not found in FOLIO": "Code '%{code}' not found in FOLIO",
49
+ "Code from 338$b NOT found in FOLIO: \"%{value}\"": "Code from 338$b NOT found in FOLIO: \"%{value}\"",
50
+ "Condition in rules hit": "Condition in rules hit",
51
+ "Contributor type code \"%{code}\" found for $%{code_subfield}": "Contributor type code \"%{code}\" found for $%{code_subfield}",
52
+ "Contributor type name %{name} found for %{tag}": "Contributor type name %{name} found for %{tag}",
53
+ "Could not parse catalogedDate": "Could not parse catalogedDate",
54
+ "Count": "Count",
55
+ "Courses migration report": "Courses migration report",
56
+ "Created HRID using default settings": "Created HRID using default settings",
57
+ "DATA ISSUE Invalid dates": "DATA ISSUE Invalid dates",
58
+ "DATA ISSUE Invalid sum": "DATA ISSUE Invalid sum",
59
+ "DATA ISSUE Items not in FOLIO": "DATA ISSUE Items not in FOLIO",
60
+ "DATA ISSUE Users not in FOLIO": "DATA ISSUE Users not in FOLIO",
61
+ "Data issue. Consider fixing the record. ": "Data issue. Consider fixing the record. ",
62
+ "Declare item as lost": "Declare item as lost",
63
+ "Declared lost and checked out": "Declared lost and checked out",
64
+ "Discarded reserves": "Discarded reserves",
65
+ "Due date is before out date, or date information is missing from both": "Due date is before out date, or date information is missing from both",
66
+ "Duplicate 001. Creating HRID instead.\n Previous 001 will be stored in a new 035 field": "Duplicate 001. Creating HRID instead.\n Previous 001 will be stored in a new 035 field",
67
+ "Duplicate MARC record identifiers ": "Duplicate MARC record identifiers ",
68
+ "Duplicate barcodes": "Duplicate barcodes",
69
+ "Duplicate key based on current merge criteria. Records merged": "Duplicate key based on current merge criteria. Records merged",
70
+ "Duplicate loans (or failed twice)": "Duplicate loans (or failed twice)",
71
+ "Elapsed time:": "Elapsed time:",
72
+ "Encoding errors": "Encoding errors",
73
+ "Error setting item status to %{status}": "Error setting item status to %{status}",
74
+ "FAILED Records failed due to an error": "FAILED Records failed due to an error",
75
+ "FOLIO Field": "FOLIO Field",
76
+ "Failed 1st time. No retries": "Failed 1st time. No retries",
77
+ "Failed checkout http status %{code}": "Failed checkout http status %{code}",
78
+ "Failed loans": "Failed loans",
79
+ "Failed records. No unique record identifiers in legacy record": "Failed records. No unique record identifiers in legacy record",
80
+ "Failed user transformations": "Failed user transformations",
81
+ "Failure to post reserve": "Failure to post reserve",
82
+ "Fallback mapping": "Fallback mapping",
83
+ "Field Mapping Errors found": "Field Mapping Errors found",
84
+ "Generic exceptions (see log for details)": "Generic exceptions (see log for details)",
85
+ "Had migrated user barcode": "Had migrated user barcode",
86
+ "Handled inactive users": "Handled inactive users",
87
+ "Holding prevented from merging by holdingsTypeId": "Holding prevented from merging by holdingsTypeId",
88
+ "Holdings Records Written to disk": "Holdings Records Written to disk",
89
+ "Holdings already created from Item": "Holdings already created from Item",
90
+ "Holdings lookups performed": "Holdings lookups performed",
91
+ "Holdings transformation report": "Holdings transformation report",
92
+ "Instances HRID starting number": "Instances HRID starting number",
93
+ "Instances linked using instances_id_map": "Instances linked using instances_id_map",
94
+ "Interfaces": "Interfaces",
95
+ "Invalid specific retention policy in 008/13-15: %{value}": "Invalid specific retention policy in 008/13-15: %{value}",
96
+ "Inventory records written to disk": "Inventory records written to disk",
97
+ "Item lookups performed": "Item lookups performed",
98
+ "Item transformation report": "Item transformation report",
99
+ "Items already detected as missing": "Items already detected as missing",
100
+ "Legacy Field": "Legacy Field",
101
+ "Legacy bib records without 001": "Legacy bib records without 001",
102
+ "Legacy id is empty": "Legacy id is empty",
103
+ "Loan already exists for %{item_barcode}": "Loan already exists for %{item_barcode}",
104
+ "Loan already in failed.": "Loan already in failed.",
105
+ "Loans discarded. Had migrated item barcode": "Loans discarded. Had migrated item barcode",
106
+ "Loans failed pre-validation": "Loans failed pre-validation",
107
+ "Loans migration report": "Loans migration report",
108
+ "Loans verified against migrated user and item": "Loans verified against migrated user and item",
109
+ "MFHD records transformation report": "MFHD records transformation report",
110
+ "Manual fee/fine transformation report": "Manual fee/fine transformation report",
111
+ "Mapped": "Mapped",
112
+ "Mapped FOLIO fields": "Mapped FOLIO fields",
113
+ "Mapped Legacy fields": "Mapped Legacy fields",
114
+ "Mapped from Indicator 1": "Mapped from Indicator 1",
115
+ "Mapping failed for %{tag} \"%{subfield}\" (%{normalized_subfield})": "Mapping failed for %{tag} \"%{subfield}\" (%{normalized_subfield})",
116
+ "Mapping failed for %{tag} \"%{subfield}\" (Normalized: %{normalized_subfield})": "Mapping failed for %{tag} \"%{subfield}\" (Normalized: %{normalized_subfield})",
117
+ "Mapping not set up": "Mapping not set up",
118
+ "Mapping not set up for target field": "Mapping not set up for target field",
119
+ "Mapping not setup": "Mapping not setup",
120
+ "Measure": "Measure",
121
+ "Missing Instructors": "Missing Instructors",
122
+ "No Call Number Type Mapping": "No Call Number Type Mapping",
123
+ "No Leader[7] in": "No Leader[7] in",
124
+ "No corresponding $b in corresponding 338": "No corresponding $b in corresponding 338",
125
+ "No corresponding 337 to 338 even though 338$b was one character": "No corresponding 337 to 338 even though 338$b was one character",
126
+ "No item with barcode found in FOLIO": "No item with barcode found in FOLIO",
127
+ "No user with barcode found in FOLIO": "No user with barcode found in FOLIO",
128
+ "Number of Legacy items in %{container}": "Number of Legacy items in %{container}",
129
+ "Number of Legacy items in file": "Number of Legacy items in file",
130
+ "Number of Legacy items in total": "Number of Legacy items in total",
131
+ "Number of bib records referenced in item": "Number of bib records referenced in item",
132
+ "Number of discarded notes with no content": "Number of discarded notes with no content",
133
+ "Number of files processed": "Number of files processed",
134
+ "Number of linked %{type} created": "Number of linked %{type} created",
135
+ "Number of linked notes created": "Number of linked notes created",
136
+ "Number of objects in source data file": "Number of objects in source data file",
137
+ "Number of organizations created": "Number of organizations created",
138
+ "Number of records written to disk": "Number of records written to disk",
139
+ "Number of reoccuring identical %{type}": "Number of reoccuring identical %{type}",
140
+ "Number of reoccurring identical %{type}": "Number of reoccurring identical %{type}",
141
+ "Ogranization transformation report": "Ogranization transformation report",
142
+ "Organization transformation report": "Organization transformation report",
143
+ "Organizations linked using organizations_id_map": "Organizations linked using organizations_id_map",
144
+ "Organizations not in ID map, linked using FOLIO lookup": "Organizations not in ID map, linked using FOLIO lookup",
145
+ "Original value": "Original value",
146
+ "Other checkout failure": "Other checkout failure",
147
+ "Parsing error! %{prop_name}: %{value}. The empty string was returned": "Parsing error! %{prop_name}: %{value}. The empty string was returned",
148
+ "Patron barcode": "Patron barcode",
149
+ "Patron barcode already detected as missing": "Patron barcode already detected as missing",
150
+ "Patron barcode not in FOLIO": "Patron barcode not in FOLIO",
151
+ "Patron lookups performed": "Patron lookups performed",
152
+ "Posted reserves": "Posted reserves",
153
+ "Present": "Present",
154
+ "Previously transformed holdings record loaded": "Previously transformed holdings record loaded",
155
+ "Processed pre-validated loans": "Processed pre-validated loans",
156
+ "Processed reserves": "Processed reserves",
157
+ "Provided boundwith relationship file not found": "Provided boundwith relationship file not found",
158
+ "Pruchase Orders and Purchase Order Lines Transformation Report": "Pruchase Orders and Purchase Order Lines Transformation Report",
159
+ "RECORD FAILED Organization identifier not in ID map/FOLIO": "RECORD FAILED Organization identifier not in ID map/FOLIO",
160
+ "RECORD FAILED: PO number has invalid character(s)": "RECORD FAILED: PO number has invalid character(s)",
161
+ "Records failed": "Records failed",
162
+ "Records failed because of failed holdings": "Records failed because of failed holdings",
163
+ "Records failed due to an error. See data issues log for details": "Records failed due to an error. See data issues log for details",
164
+ "Records in file before parsing": "Records in file before parsing",
165
+ "Records matched to Instances": "Records matched to Instances",
166
+ "Records not matched to Instances": "Records not matched to Instances",
167
+ "Records successfully decoded from MARC21": "Records successfully decoded from MARC21",
168
+ "Records that failed transformation. Check log for details": "Records that failed transformation. Check log for details",
169
+ "Records with %{has_many}s but no %{has_no}": "Records with %{has_many}s but no %{has_no}",
170
+ "Records with both %{has_many}s and at least one %{has_one}": "Records with both %{has_many}s and at least one %{has_one}",
171
+ "Records with encoding errors - parsing failed": "Records with encoding errors - parsing failed",
172
+ "Records with unexpected length in $6": "Records with unexpected length in $6",
173
+ "Records without $6": "Records without $6",
174
+ "Records without %{has_no}s but with %{has}": "Records without %{has_no}s but with %{has}",
175
+ "Requests discarded. Had migrated item barcode: %{item_barcode}.\n Had migrated user barcode: %{patron_barcode}": "Requests discarded. Had migrated item barcode: %{item_barcode}.\n Had migrated user barcode: %{patron_barcode}",
176
+ "Requests in file": "Requests in file",
177
+ "Requests migration report": "Requests migration report",
178
+ "Requests successfully verified against migrated users and items": "Requests successfully verified against migrated users and items",
179
+ "Requests that failed verification against migrated users and items": "Requests that failed verification against migrated users and items",
180
+ "Requests with valid source data": "Requests with valid source data",
181
+ "Requests with valueErrors": "Requests with valueErrors",
182
+ "Reserve discarded. Could not find migrated barcode": "Reserve discarded. Could not find migrated barcode",
183
+ "Reserve verified against migrated item": "Reserve verified against migrated item",
184
+ "Reserves migration report": "Reserves migration report",
185
+ "Retention policy 6 indicates a limited period. Specific retention period will be mapped from 008/13-15": "Retention policy 6 indicates a limited period. Specific retention period will be mapped from 008/13-15",
186
+ "Rows merged to create Purchase Orders": "Rows merged to create Purchase Orders",
187
+ "SRS records written to disk": "SRS records written to disk",
188
+ "Second failure": "Second failure",
189
+ "Set 852 to FOLIO location code": "Set 852 to FOLIO location code",
190
+ "Set _version to -1 to enable upsert": "Set _version to -1 to enable upsert",
191
+ "Set leader 09 (Character coding scheme) from %{field} to a": "Set leader 09 (Character coding scheme) from %{field} to a",
192
+ "Set leader 10 (Indicator count) from %{field} to 2": "Set leader 10 (Indicator count) from %{field} to 2",
193
+ "Set leader 11 (Subfield code count) from %{record} to 2": "Set leader 11 (Subfield code count) from %{record} to 2",
194
+ "Set leader 20-23 from %{field} to 4500": "Set leader 20-23 from %{field} to 4500",
195
+ "Set up statistical code id mapping...": "Set up statistical code id mapping...",
196
+ "Setting item %{item_barcode} to status \"Available\"": "Setting item %{item_barcode} to status \"Available\"",
197
+ "Source digits": "Source digits",
198
+ "Source of heading or term": "Source of heading or term",
199
+ "Staff suppressed": "Staff suppressed",
200
+ "Statistical code": "Statistical code",
201
+ "Statistical code '%{code}' not found in FOLIO": "Statistical code '%{code}' not found in FOLIO",
202
+ "Statistical codes not supported for this object type": "Statistical codes not supported for this object type",
203
+ "Stored courselistings": "Stored courselistings",
204
+ "Stored courses": "Stored courses",
205
+ "Stored instructors": "Stored instructors",
206
+ "Subfield b not in 336": "Subfield b not in 336",
207
+ "Successful match": "Successful match",
208
+ "Successful matching on %{criteria_1} and %{criteria_2}": "Successful matching on %{criteria_1} and %{criteria_2}",
209
+ "Successful matching on %{criteria}": "Successful matching on %{criteria}",
210
+ "Successful user transformations": "Successful user transformations",
211
+ "Successfully %{action}": "Successfully %{action}",
212
+ "Successfully Checked out %{lost_type} item and put the status back": "Successfully Checked out %{lost_type} item and put the status back",
213
+ "Successfully Checked out %{lost_type} item. Item will be declared lost.": "Successfully Checked out %{lost_type} item. Item will be declared lost.",
214
+ "Successfully activated user": "Successfully activated user",
215
+ "Successfully changed due date": "Successfully changed due date",
216
+ "Successfully checked out": "Successfully checked out",
217
+ "Successfully deactivated user": "Successfully deactivated user",
218
+ "Successfully declared loan as Claimed returned": "Successfully declared loan as Claimed returned",
219
+ "Successfully declared loan as lost": "Successfully declared loan as lost",
220
+ "Successfully migrated requests": "Successfully migrated requests",
221
+ "Successfully posted reserves": "Successfully posted reserves",
222
+ "Successfully set item status to %{status}": "Successfully set item status to %{status}",
223
+ "Successfully updated open loan": "Successfully updated open loan",
224
+ "Suppressed from discovery": "Suppressed from discovery",
225
+ "TOTAL Accounts created": "TOTAL Accounts created",
226
+ "TOTAL Feefineactions created": "TOTAL Feefineactions created",
227
+ "TOTAL Purchase Order Lines created": "TOTAL Purchase Order Lines created",
228
+ "TOTAL Purchase Orders created": "TOTAL Purchase Orders created",
229
+ "Tag: %{tag}. Added value: %{value}": "Tag: %{tag}. Added value: %{value}",
230
+ "Target field": "Target field",
231
+ "Target string '%{string}' not in Schema!": "Target string '%{string}' not in Schema!",
232
+ "Target type": "Target type",
233
+ "Time Finished:": "Time Finished:",
234
+ "Time Started:": "Time Started:",
235
+ "Timings": "Timings",
236
+ "Took HRID from 001": "Took HRID from 001",
237
+ "Total number of Tags processed": "Total number of Tags processed",
238
+ "Transformation process error": "Transformation process error",
239
+ "Unhandled call number type in $2 (ind1 == 7)": "Unhandled call number type in $2 (ind1 == 7)",
240
+ "Unhandled call number type in ind1: \"%{ind1}\".\n Returning default Callnumber type: %{type}": "Unhandled call number type in ind1: \"%{ind1}\".\n Returning default Callnumber type: %{type}",
241
+ "Unique BW Holdings created from Items": "Unique BW Holdings created from Items",
242
+ "Unique Holdings created from Items": "Unique Holdings created from Items",
243
+ "Unique ID:s written to legacy map": "Unique ID:s written to legacy map",
244
+ "Unmapped": "Unmapped",
245
+ "Unmapped code": "Unmapped code",
246
+ "Unmatched level": "Unmatched level",
247
+ "Unsuccessful matching on %{criteria_1} and %{criteria_2}": "Unsuccessful matching on %{criteria_1} and %{criteria_2}",
248
+ "Unsuccessful matching on %{criteria}": "Unsuccessful matching on %{criteria}",
249
+ "Unsuccessfully declared loan %{loan} as Claimed returned": "Unsuccessfully declared loan %{loan} as Claimed returned",
250
+ "Unsuccessfully declared loan as lost": "Unsuccessfully declared loan as lost",
251
+ "Unsuccessfully migrated requests": "Unsuccessfully migrated requests",
252
+ "Update item": "Update item",
253
+ "Update open loan error http status": "Update open loan error http status",
254
+ "Update user": "Update user",
255
+ "Updated renewal count for loan": "Updated renewal count for loan",
256
+ "Users already detected as missing": "Users already detected as missing",
257
+ "Users transformation report": "Users transformation report",
258
+ "Valid, prepared requests, ready for posting": "Valid, prepared requests, ready for posting",
259
+ "Value": "Value",
260
+ "Values in %{field}": "Values in %{field}",
261
+ "blurbs..description": "",
262
+ "blurbs..title": "",
263
+ "blurbs.AcquisitionMethodMapping.description": "",
264
+ "blurbs.AcquisitionMethodMapping.title": "POL Acquisition Method Mapping",
265
+ "blurbs.AddedValueFromParameter.description": "",
266
+ "blurbs.AddedValueFromParameter.title": "Added value from parameter since value is empty",
267
+ "blurbs.AuthorityEncodingLevel.description": "Library action: **All values that are not n or o will be set to n. If this is not what you want, you need to correct these values in your system. **<br/>An overview of the Encoding levels (Leader position 17) present in your source data. Allowed values according to the MARC standard are n or o",
268
+ "blurbs.AuthorityEncodingLevel.title": "Encoding level (leader pos 17)",
269
+ "blurbs.AuthoritySourceFileMapping.description": "Mappings based on FOLIO authority `naturalId` alpha prefix",
270
+ "blurbs.AuthoritySourceFileMapping.title": "Authority Source File Mapping Results",
271
+ "blurbs.AuthoritySources.description": "",
272
+ "blurbs.AuthoritySources.title": "Authorization sources and related information",
273
+ "blurbs.BoundWithMappings.description": "",
274
+ "blurbs.BoundWithMappings.title": "Bound-with mapping",
275
+ "blurbs.CallNumberTypeMapping.description": "Call number types in MFHDs are mapped from 852, Indicator 1 according to a certain scheme. (LOC documentation)[https://www.loc.gov/marc/holdings/hd852.html]",
276
+ "blurbs.CallNumberTypeMapping.title": "Callnumber type mapping",
277
+ "blurbs.CatalogingAgency.description": "",
278
+ "blurbs.CatalogingAgency.title": "Cataloging sources",
279
+ "blurbs.CategoriesMapping.description": "Reference data mapping for contacts, addresses, emails, and phones numbers.",
280
+ "blurbs.CategoriesMapping.title": "Organization contact categories",
281
+ "blurbs.ContributorTypeMapping.description": "Library action: **REVIEW** <br/>The created FOLIO instances contain the following Contributor type values. The library should review the total number for each value against what they would expect to see mapped.",
282
+ "blurbs.ContributorTypeMapping.title": "Contributor type mapping",
283
+ "blurbs.DateTimeConversions.description": "Some date and date time strings are converted to UTC DateTime objects and then printed accoding to ISO standard.",
284
+ "blurbs.DateTimeConversions.title": "DateTime conversions",
285
+ "blurbs.DefaultValuesAdded.description": "The values below were added to all records from the 'value' field in the mapping file, overriding any mapped values from the source data.",
286
+ "blurbs.DefaultValuesAdded.title": "Default values from mapping added",
287
+ "blurbs.DepartmentsMapping.description": "",
288
+ "blurbs.DepartmentsMapping.title": "Departments mappings",
289
+ "blurbs.Details.description": "",
290
+ "blurbs.Details.title": "Details",
291
+ "blurbs.DiffsBetweenOrders.description": "This is a technical report that helps you to identify differences in the mapped order fields. ",
292
+ "blurbs.DiffsBetweenOrders.title": "Differences between generated orders with same Legacy Identifier",
293
+ "blurbs.DigitizationPolicyMapping.description": "Digitization policies mapped from `008[21]` (LoC documentation)[https://www.loc.gov/marc/holdings/hd008.html]",
294
+ "blurbs.DigitizationPolicyMapping.title": "Digitization policy",
295
+ "blurbs.DiscardedLoans.description": "List of loans discarded for various resons",
296
+ "blurbs.DiscardedLoans.title": "Discarded loans",
297
+ "blurbs.DiscardedRequests.description": "List of requests discarded for various resons",
298
+ "blurbs.DiscardedRequests.title": "Discarded Requests",
299
+ "blurbs.DiscardedReserves.description": "List of reserves discarded for various resons",
300
+ "blurbs.DiscardedReserves.title": "Discarded reserves",
301
+ "blurbs.Exceptions.description": "",
302
+ "blurbs.Exceptions.title": "Exceptions",
303
+ "blurbs.FailedFiles.description": "",
304
+ "blurbs.FailedFiles.title": "Failed files",
305
+ "blurbs.FeeFineOnwerMapping.description": "Reference data mapping for Fee/Fine owners.",
306
+ "blurbs.FeeFineOnwerMapping.title": "Fee/Fine Owner mapping",
307
+ "blurbs.FeeFineServicePointTypesMapping.description": "Reference data mapping for Fee/Fine service points.",
308
+ "blurbs.FeeFineServicePointTypesMapping.title": "Fee/Fine Service Point mapping",
309
+ "blurbs.FeeFineTypesMapping.description": "Reference data mapping for Fee/Fine types.",
310
+ "blurbs.FeeFineTypesMapping.title": "Fee/Fine Type mapping",
311
+ "blurbs.Field880Mappings.description": "This table shows how the 880 (Alternate Graphic Representation) has been mapped.",
312
+ "blurbs.Field880Mappings.title": "880 mappings",
313
+ "blurbs.Field880MappingsMissingFromRules.description": "Library action: **REVIEW** <br/>Fields that are referenced in the 880 mapping, but not configured in the mapping-rules.",
314
+ "blurbs.Field880MappingsMissingFromRules.title": "880 mappings: mapped field not in mapping-rules",
315
+ "blurbs.FieldMappingDetails.description": "",
316
+ "blurbs.FieldMappingDetails.title": "Mapping details",
317
+ "blurbs.FieldMappingErrors.description": "",
318
+ "blurbs.FieldMappingErrors.title": "Field mapping errors",
319
+ "blurbs.FolioDefaultValuesAdded.description": "The below FOLIO default values were added to records that had no mapped value in the source data.",
320
+ "blurbs.FolioDefaultValuesAdded.title": "FOLIO default values added",
321
+ "blurbs.FundsMapping.title": "Fund mappings",
322
+ "blurbs.FundsMapping.description": "Reference data for funds mapping",
323
+ "blurbs.GeneralStatistics.description": "A list of general counters to outline the transformation as a whole.",
324
+ "blurbs.GeneralStatistics.title": "General statistics",
325
+ "blurbs.HoldingsGenerationFromBibs.description": "Some libraries have Holdings/MFHD information baked into their bib records. The following breakdown gives an idea on the occurrence of 852/866 combinations",
326
+ "blurbs.HoldingsGenerationFromBibs.title": "Holdings generation from bibs",
327
+ "blurbs.HoldingsMerging.description": "",
328
+ "blurbs.HoldingsMerging.title": "Holdings Merging",
329
+ "blurbs.HoldingsRecordIdMapping.description": "",
330
+ "blurbs.HoldingsRecordIdMapping.title": "Holdings IDs mapped",
331
+ "blurbs.HoldingsStatementsParsing.description": "",
332
+ "blurbs.HoldingsStatementsParsing.title": "Parsed Holdings statements from 85X/86X combinations",
333
+ "blurbs.HoldingsTypeMapping.description": "",
334
+ "blurbs.HoldingsTypeMapping.title": "Holdings type mapping",
335
+ "blurbs.HridHandling.description": "There are two ways of handling HRIDs. The default behaviour is to take the current 001 and move that to a new 035. This will also emerge as an Identifier on the Inventory Instances. The 001 and Instance HRID will be generated from the HRID settings in FOLIO. The second option is to maintain the 001s in the records, and also add this as the Instance HRID",
336
+ "blurbs.HridHandling.title": "HRID and 001/035 handling",
337
+ "blurbs.ILLPolicyMapping.description": "ILL policies mapped from `008[20]` (LoC documentation)[https://www.loc.gov/marc/holdings/hd008.html]",
338
+ "blurbs.ILLPolicyMapping.title": "ILL policy",
339
+ "blurbs.IncompleteEntityMapping.description": "**NO ACTION REQUIRED** <br/>This is a coding anomaly that FSE will look into. <br/>Usually, the library does not have to do anything about it.<br/> One thing to look at is if there are many repeated subfields or unexpected patterns of subfields in the table.",
340
+ "blurbs.IncompleteEntityMapping.title": "Incomplete entity mapping adding entity",
341
+ "blurbs.IncompleteSubPropertyRemoved.description": "Add the missing required information to the record in your current ILS to ensure that it can be migrated over.",
342
+ "blurbs.IncompleteSubPropertyRemoved.title": "Sub-property removed due to missing required fields",
343
+ "blurbs.InstanceFormat.description": "",
344
+ "blurbs.InstanceFormat.title": "Instance format ids handling (337 + 338))",
345
+ "blurbs.InstanceLevelCallnumber.description": "Library action: **REVIEW** <br/>True if the source data contains bib level call numbers in MARC field 099.",
346
+ "blurbs.InstanceLevelCallnumber.title": "Instance level callNumber",
347
+ "blurbs.InstanceTypeMapping.description": "",
348
+ "blurbs.InstanceTypeMapping.title": "Instance Type Mapping",
349
+ "blurbs.Introduction.description": "<br/>Data errors preventing records from being migrated are marked **FIX BEFORE MIGRATION**. The library is advised to clean up these errors in the source data.<br/><br/> The sections related to field counts and mapping results are marked **REVIEW**. These do not indicate errors preventing records from being migrated, but may point to data anomalies or in the mappings. The library should review these to make sure that the numbers are what one would expect, knowing the source data. Is this the expected number of serials? Is this the expected number of cartographic materials?",
350
+ "blurbs.Introduction.title": "Introduction",
351
+ "blurbs.LanguageCodeSources.description": "Most language codes in MARC records come from this list: https://www.loc.gov/marc/languages/, But other codes are allowed. The controlled vocabulary needs to be stated in $2 and this is where the information in this list comes from. The mapping tools can not currently handle other language codes, and so cannot FOLIO. <br/>One solution is to migrate the codes into a string or/and replace the language code with the parent language (these languages are usually subgroups of other languages). Many times, these records already have the \"super-language\" recorded as well. The data will remain in the MARC records.",
352
+ "blurbs.LanguageCodeSources.title": "Language code sources in 041",
353
+ "blurbs.LanguagesInRecords.description": "A breakdown of language codes occuring in the records. Purely informational.",
354
+ "blurbs.LanguagesInRecords.title": "Language codes in records",
355
+ "blurbs.Leader06.description": "",
356
+ "blurbs.Leader06.title": "Leader 06 (Holdings type)",
357
+ "blurbs.LeaderManipulation.description": "",
358
+ "blurbs.LeaderManipulation.title": "Leader manipulation",
359
+ "blurbs.LegacyLocationCodes.description": "",
360
+ "blurbs.LegacyLocationCodes.title": "Legacy location codes",
361
+ "blurbs.LocationMapping.description": "These are the results for the mapping between legacy locations and your new FOLIO location structure",
362
+ "blurbs.LocationMapping.title": "Location mapping",
363
+ "blurbs.Locations.description": "",
364
+ "blurbs.Locations.title": "Locations - Unmapped legacy codes",
365
+ "blurbs.MalformedInterfaceUri.description": "Interfaces with malformed URIs will not be migrated. See data issues log. FOLIO Interface URIs must start with one of the following: 'ftp://', 'sftp://', 'http://', 'https://'.",
366
+ "blurbs.MalformedInterfaceUri.title": "Malformed interface URIs",
367
+ "blurbs.MappedAlternativeTitleTypes.description": "Library action: **REVIEW** <br/>The created FOLIO instances contain the following Alternative title type values. The library should review the total number for each value against what they would expect to see mapped. The FOLIO community recommends a coarse-grained mapping.",
368
+ "blurbs.MappedAlternativeTitleTypes.title": "Mapped Alternative title types",
369
+ "blurbs.MappedClassificationTypes.description": "",
370
+ "blurbs.MappedClassificationTypes.title": "Mapped classification types",
371
+ "blurbs.MappedContributorNameTypes.description": "Library action: **REVIEW** <br/>The created FOLIO instances contain the following Name type values. The library should review the total number for each value against what they would expect to see mapped.",
372
+ "blurbs.MappedContributorNameTypes.title": "Mapped contributor name types",
373
+ "blurbs.MappedElectronicRelationshipTypes.description": "Library action: **REVIEW** <br/>The created FOLIO instances contain the following Electronic access relationship type values. The library should review the total number for each value against what they would expect to see mapped.",
374
+ "blurbs.MappedElectronicRelationshipTypes.title": "Mapped electronic access relationships types",
375
+ "blurbs.MappedFolioFields.description": "Library action: **REVIEW** <br/>This table shows how many of the FOLIO instance records created contain data in the different FOLIO fields. The library should review the mapped totals against what they would expect to see mapped.",
376
+ "blurbs.MappedFolioFields.title": "Mapped FOLIO fields",
377
+ "blurbs.MappedIdentifierTypes.description": "Library action: **REVIEW** <br/>The created FOLIO instances contain the following Identifier type values. The library should review the total number for each value against what they would expect to see mapped.",
378
+ "blurbs.MappedIdentifierTypes.title": "Mapped identifier types",
379
+ "blurbs.MappedInstanceFormats.description": "Library action: **REVIEW** <br/>The created FOLIO instances contain the following Instance format values. The library should review the total number for each value against what they would expect to see mapped.",
380
+ "blurbs.MappedInstanceFormats.title": "Mapped instance formats",
381
+ "blurbs.MappedLegacyFields.description": "Library action: **REVIEW** <br/>This table lists all the MARC fields in the source data, and whether it has been mapped to a FOLIO instance record field. The library should examine the MARC tags with a high 'Unmapped' figure and determine if these MARC tags contain data that you would like mapped to the FOLIO instance record.",
382
+ "blurbs.MappedLegacyFields.title": "Mapped Legacy Fields",
383
+ "blurbs.MappedLocations.description": "",
384
+ "blurbs.MappedLocations.title": "Mapped Locations",
385
+ "blurbs.MappedNoteTypes.description": "Library action: **REVIEW** <br/>The created FOLIO records contain the following Note type values. <br/>The library should review the total number for each value against what they would expect to see mapped.",
386
+ "blurbs.MappedNoteTypes.title": "Mapped note types",
387
+ "blurbs.MappedPublisherRoleFromIndicator2.description": "Publication Role, taken from the code in Ind2",
388
+ "blurbs.MappedPublisherRoleFromIndicator2.title": "Mapped publisher role from Indicator2",
389
+ "blurbs.MarcValidation.description": "",
390
+ "blurbs.MarcValidation.title": "MARC21 validation issues found in records",
391
+ "blurbs.MatchedModesOfIssuanceCode.description": "Library action: **REVIEW** <br/>The created FOLIO instances contain the following Mode of issuace values. The library should review the total number for each value against what they would expect to see mapped.",
392
+ "blurbs.MatchedModesOfIssuanceCode.title": "Matched Modes of issuance code",
393
+ "blurbs.MaterialTypeMapping.description": "",
394
+ "blurbs.MaterialTypeMapping.title": "Mapped Material Types",
395
+ "blurbs.MethodOfAcquisitionMapping.description": "Acquisition methods mapped from `008[7]` (LoC documentation)[https://www.loc.gov/marc/holdings/hd008.html]",
396
+ "blurbs.MethodOfAcquisitionMapping.title": "Method of acquisition",
397
+ "blurbs.MissingInstanceTypeIds.description": "**IC ACTION REQUIRED** These reords should get an instance type ID mapped from 336, or a default of Undefined, or they will not be transformed.",
398
+ "blurbs.MissingInstanceTypeIds.title": "Records without Instance Type Ids",
399
+ "blurbs.MissingRequiredProperties.description": "",
400
+ "blurbs.MissingRequiredProperties.title": "Missing or empty required properties",
401
+ "blurbs.MissingTitles.description": "**FIX IN SOURCE DATA** These records are missing a 245 field. FOLIO requires an instance title. The library must enter this information for the record to be migrated.",
402
+ "blurbs.MissingTitles.title": "Records without titles",
403
+ "blurbs.NonNumericTagsInRecord.description": "Library action: **REVIEW** <br/>Non-numeric tags may indicate locally defined fields.",
404
+ "blurbs.NonNumericTagsInRecord.title": "Non-numeric tags in records",
405
+ "blurbs.OrderLineLocationMapping.description": "This is the location for for the purchase order line.",
406
+ "blurbs.OrderLineLocationMapping.title": "POL location mapping",
407
+ "blurbs.OrganizationTypeMapping.description": "Reference data mapping for Organization types.",
408
+ "blurbs.OrganizationTypeMapping.title": "Organization types",
409
+ "blurbs.POLCreation.description": "Report on how PO-Line creation went, what merge criterias were used, etc",
410
+ "blurbs.POLCreation.title": "PO-Line creation",
411
+ "blurbs.PermanentLoanTypeMapping.description": "",
412
+ "blurbs.PermanentLoanTypeMapping.title": "Permanent Loan type mapping",
413
+ "blurbs.PossibleCleaningTasks.description": "",
414
+ "blurbs.PossibleCleaningTasks.title": "Possible cleaning tasks",
415
+ "blurbs.PrecedingSuccedingTitles.description": "",
416
+ "blurbs.PrecedingSuccedingTitles.title": "Preceding and Succeeding titles",
417
+ "blurbs.PurchaseOrderInstanceLinking.description": "Purchase Order Lines can but do not have to be linked to instances",
418
+ "blurbs.PurchaseOrderInstanceLinking.title": "Linked Instances",
419
+ "blurbs.PurchaseOrderVendorLinking.description": "All purchase orders MUST be linked to an organization.",
420
+ "blurbs.PurchaseOrderVendorLinking.title": "Linked Organizations",
421
+ "blurbs.ReceiptStatusMapping.description": "Mapped reciept status from 008[06]. (LoC documentation)[https://www.loc.gov/marc/holdings/hd008.html]",
422
+ "blurbs.ReceiptStatusMapping.title": "Reciept status mapping",
423
+ "blurbs.RecordStatus.description": "Library action: **All values that are not a, c, d, n or p will be set to c. If this is not what you want, you need to correct these values in your system. **<br/>An overview of the Record statuses (Leader position 5) present in your source data. Pay attention to the number of occurrences of the value 'd'. These d's are expressing that they are deleted, and the records might not work as expected in FOLIO. Consider marking them as suppressed in your current system and export them as a separate batch in order to have them suppressed in FOLIO. Allowed values according to the MARC standard are a,c,d,n,p",
424
+ "blurbs.RecordStatus.title": "Record status (leader pos 5)",
425
+ "blurbs.RecourceTypeMapping.description": "Library action: **REVIEW** <br/>The created FOLIO instances contain the following Instance type values. The library should review the total number for each value against what they would expect to see mapped.",
426
+ "blurbs.RecourceTypeMapping.title": "Resource Type Mapping (336)",
427
+ "blurbs.ReferenceDataMapping.description": "",
428
+ "blurbs.ReferenceDataMapping.title": "Reference Data Mapping",
429
+ "blurbs.RetentionPolicyMapping.description": "Retention policies mapped from `008[12-15]` (LoC documentation)[https://www.loc.gov/marc/holdings/hd008.html]",
430
+ "blurbs.RetentionPolicyMapping.title": "Retention policy",
431
+ "blurbs.Section1.description": "This entries below seem to be related to instances",
432
+ "blurbs.Section1.title": "__Section 1: instances",
433
+ "blurbs.Section2.description": "The entries below seem to be related to holdings",
434
+ "blurbs.Section2.title": "__Section 2: holdings",
435
+ "blurbs.Section3.description": "The entries below seem to be related to items",
436
+ "blurbs.Section3.title": "__Section 3: items",
437
+ "blurbs.StaffOnlyViaIndicator.description": "",
438
+ "blurbs.StaffOnlyViaIndicator.title": "Set note to staff only via indicator",
439
+ "blurbs.StatisticalCodeMapping.description": "",
440
+ "blurbs.StatisticalCodeMapping.title": "Statistical code mapping",
441
+ "blurbs.StatusMapping.description": "",
442
+ "blurbs.StatusMapping.title": "Status mapping",
443
+ "blurbs.Suppression.description": "What records got assigned what suppression setting in the records.",
444
+ "blurbs.Suppression.title": "Suppression",
445
+ "blurbs.TemporaryLoanTypeMapping.description": "",
446
+ "blurbs.TemporaryLoanTypeMapping.title": "Temporary Loan type mapping",
447
+ "blurbs.TemporaryLocationMapping.description": "",
448
+ "blurbs.TemporaryLocationMapping.title": "Temporary location mapping",
449
+ "blurbs.TermsMapping.description": "Reference data mapping for Terms.",
450
+ "blurbs.TermsMapping.title": "Terms Mapping",
451
+ "blurbs.Trivia.description": "",
452
+ "blurbs.Trivia.title": "Trivia",
453
+ "blurbs.UnmappedContributorNameTypes.description": "**REVIEW/IC ACTION REQUIRED** <br/>Contributor name types present in the source data, but not mapped to a FOLIO value. The library and IC should review values and mapping.",
454
+ "blurbs.UnmappedContributorNameTypes.title": "Unmapped contributor name types",
455
+ "blurbs.UnmappedProperties.description": "",
456
+ "blurbs.UnmappedProperties.title": "Unmapped properties",
457
+ "blurbs.UnrecognizedLanguageCodes.description": "Library action: **REVIEW** <br/>Language code values in the source data that do not match standard language codes. If not fixed before migration, these will display as Undetermined in the instance record and Filtering by language in Inventory will not be conclusive.",
458
+ "blurbs.UnrecognizedLanguageCodes.title": "Unrecognized language codes in records",
459
+ "blurbs.UserGroupMapping.description": "",
460
+ "blurbs.UserGroupMapping.title": "User group mapping",
461
+ "blurbs.UsersPerPatronType.description": "",
462
+ "blurbs.UsersPerPatronType.title": "Users per patron type",
463
+ "blurbs.ValueErrors.description": "**FIX BEFORE MIGRATION** This section identifies records that have unexpected or missing values that prevent the transformation. The type of error will be specified. The library must resolve the issue for the record to be migrated.",
464
+ "blurbs.ValueErrors.title": "Records failed to migrate due to Value errors found in Transformation",
465
+ "blurbs.ValueSetInMappingFile.description": "The value for these fields are set in the mapping file instead of coming from the legacy system data.",
466
+ "blurbs.ValueSetInMappingFile.title": "Value set in mapping file",
467
+ "blurbs.ValuesMappedFromLegacyFields.description": "A list fo the values and what they were mapped to",
468
+ "blurbs.ValuesMappedFromLegacyFields.title": "Values mapped from legacy fields",
469
+ "created": "created",
470
+ "instance type code (%{code}) not found in FOLIO": "instance type code (%{code}) not found in FOLIO",
471
+ "item barcode": "item barcode",
472
+ "legacy id from %{fro}": "legacy id from %{fro}",
473
+ "naturalId mapped from %{fro}": "naturalId mapped from %{fro}",
474
+ "no matching identifier_types in %{names}": "no matching identifier_types in %{names}",
475
+ "subfield present in %{linked_value_tag} but not in %{pattern_field}": "subfield present in %{linked_value_tag} but not in %{pattern_field}"
476
+ }