-
Notifications
You must be signed in to change notification settings - Fork 22
Modinvstor 1446 #1251
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Modinvstor 1446 #1251
Conversation
add missing permissions add customFields to item.json add RecordServiceFactory implementation add RecordService meta info add db indexes for custom fields
Correct permissionsRequired for custom-fields Correct custom-fields pathPatterns for stats Add CustomFieldsApiTest to StorageTestSuite.java Move custom_fields objects in db_scripts to correct location Move folio-custom-fields version to prod-deps group Set custom-fields interface to 3.0 Add custom_fields.json and use it as ref in item.json Mock /users for CustomFieldsApiTest because of dependencies in custom fields library Test /custom-fields POST, GET, DELETE, PUT APIs and check if referenced items are updated where necessary.
a6f3443 to
69c1b84
Compare
|
psmagin
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It was agreed that custom-field work will not be merged into the master until it is tested for performance.
@psmagin
|
Correct
Correct
Execution time, database load.
This should be defined by the PO, but it must definitely be fast enough not to affect other flows (such as data import, bulk update, etc.).
I would expect tests to run on a bugfest-like dataset with about 8M items. It’s possible that each item could reference the same custom field.
Yes. There are several performance tests for data import and bulk update. You could reach out to the PTF team, who usually measure performance, and ask for their assistance with this. |



Purpose
Describe the purpose of this pull request. Why is this change necessary? What problem does it solve?
This pull request is for integrating the
folio-custom-fieldsbackend library into mod-inventory-storage, so that it supports storing custiom field values on inventory items.Approach
How does this change fulfill the purpose? Provide a high-level overview of the technical approach taken to address the problem.
We followed the guide in https://github.com/folio-org/folio-custom-fields for implementing the library and used the implementation in https://github.com/folio-org/mod-orders-storage as reference.
Changes Checklist
New API
GET, PUT, POST /custom-fields
GET, PUT, DELETE /custom-fields/{id}
GET /custom-fields/{id}/stats
GET /custom-fields/{id}/options/{optId}/stats
Permissions
inventory-storage.custom-fields.all
inventory-storage.custom-fields.collection.get
inventory-storage.custom-fields.collection.put
inventory-storage.custom-fields.item.post
inventory-storage.custom-fields.item.get
inventory-storage.custom-fields.item.put
inventory-storage.custom-fields.item.delete
inventory-storage.custom-fields.item.stats.get
inventory-storage.custom-fields.item.option.stats.get
Related Issues
List any Jira issues related to this pull request.
https://folio-org.atlassian.net/browse/MODINVSTOR-1446
https://folio-org.atlassian.net/browse/UXPROD-5370
Learning and Resources (if applicable)
Discuss any research conducted during the development of this pull request. Include links to relevant blog posts, patterns, libraries, or addons that were used to solve the problem.
https://github.com/folio-org/folio-custom-fields
https://github.com/folio-org/mod-orders-storage
https://www.baeldung.com/java-passing-method-parameter
Screenshots (if applicable)
If this pull request involves any visual changes or new features, consider including screenshots or GIFs to illustrate the changes.