Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Prep Jira: UXPROD-3361 - Prep for Importing Orders in MARC format IN PROGRESS (Morning Glory)

...

Question

Status

Conclusion

Comments

How to handle the POL limit variation (in the field mapping profile, users can select to use the existing default or override to a number higher or lower than the default)

Status
subtletrue
colourGreen
titleclosed

See logic in field mapping profile - display the existing POL limit setting, but allow override of it
If DI only allows creation of one-time, non-package orders, will there be any problems if we remove all the non-one-time, non-package data elements from the field mapping screen?

Status
subtletrue
colourGreen
titleclosed

Not a problem
We want to use the existing Orders logic as much as possible, but we also want Instance/Holdings/Item linked with correct POL even when created before the POL.

Status
subtletrue
colourGreen
titleclosed

For initial release, create the Instance first via DI, then have the order's opening create the holdings and items. Then update the holdings and item via a second DI job. In the refinement release, aim to combine the above into 1 job
Return an error to DI log if the user does not have permission to create an order for the acq unit specified in the PO

Status
subtletrue
colourBlue
titleOpen


Already in place for invoices. Can we reuse that work?
If vendor supplies order date in YYYYMMDD format, can we convert it to FOLIO YYYY-MM-DD default format? 

Status
subtletrue
colourBlue
titleOpen



Would we be able to support other order date formats?

Status
subtletrue
colourBlue
titleOpen



Test handling of multiple copies for multiple locations in the same POL; how can DI understand and parse properly? 

Status
subtletrue
colourYellow
titledeferred

Work on this after the multi-copy DI work in Orchid. Initial implementation will be single copy/single locationMARC field mapping syntax expansion required? Aim for repeatable 9xx field that has $a location code $b quantity maybe $c fund $d expense class?
For prices, FOLIO always wants an explicit decimal (e.g. 25.15, not 2516, correct?)

Status
subtletrue
colourGreen
titleclosed

Yes
With invoices, data import does not try to correlate the expense classes allowed by particular funds (just display all the expense classes from Settings in a dropdown list). Should we refine that for Orders? How difficult would it be?

Status
subtletrue
colourGreen
titleCLOSED

Per SMEs. no need to refine, at least to start with - show all funds and all expense classes in each dropdown.
Would Folijet need to take the receiving app into account? What happens if the Inventory records are created before the Order records, and not triggered by the POL's Inventory setting - would that be an issue?

Status
subtletrue
colourGreen
titleclosed

Not in initial release, since the receiving pieces will be created by opening the order, not by DI
If order is created as Pending, but Instance/Holdings/Item has already been created by DI, what happens when the order is opened manually?

Status
subtletrue
colourGreen
titleclosed

Initial release will be set up so that the Instance is created first, and then the POL linked to it. Then the holdings/items will be linked to the POL via the standard Orders module logic, when the PO is opened. SMEs want the Instance/Holdings/Item to be linked to the appropriate POL on the PO that was manually opened
If library wants no Inventory created, can job profile be set up to import MARC Bibs, but only create orders?

Status
subtletrue
colourYellow
titledeferred

Not in the initial release. Investigate as a possibility in the refinement releaseMay just take some testing 
From the SMEs: 

Can we assume that actions taken by the system are being done the same way as actions done by a user (except faster, and without any confirmation modals)?

Status
subtletrue
colourBlueGreen
titleOpenCLOSED


Question for Tjet/Fjet

Yes. Currently there is just a small difference in processing requests if poline.source == "EBSCONET", which  was done for the specific 3rd party system, and it will not affect other flows.

Specific PO/POL data elements 

Status
subtletrue
colourYellowGreen
titlein processCLOSED



  • Vendor

Status
subtletrue
colourGreen
titleclosed

Is there an endpoint where DI could do a lookup based on the vendor code? (an exact match on one or the other)

Question for Thunderjet

SN: We can use CQL language to filter organizations/vendors by code for example like this:

/organizations/organizations?query=(((code=AMAZ*)))

NOTE FROM A-M: Should be an exact match for the code, NOT a "begins" search, but case-insensitive, if possible

  • Created by

Status
subtletrue
colourGreen
titleclosed

What data should be supplied - user who runs the import job?

Question for Thunderjet

SN: Yes, correct, active signed user. It is set automatically by RMB when Verticle receives request. So it is populated by server, should not be populated by the client. Example of metadata payload when creating order with populated by RMB data. 

  • Created on

Status
subtletrue
colourGreen
titleclosed

What data should be supplied - current date/time? Will it default if not supplied?

Question for Thunderjet

SN: Yes, current date/time. It is set automatically by RMB when Verticle receives request. So it is populated by server, should not be populated by the client.

  • Approved by

Status
subtletrue
colourBlueGreen
titleOpenCLOSED

What data should be supplied - user who runs the import job?Question for Thunderjet

Yes, and  this value will be populated automatically if approval required by tenant configuration
  • Approval date

Status
subtletrue
colourBlueGreen
titleOpenCLOSED

What data should be supplied - current date/time? Will it default if not supplied?

Question for Thunderjet

Will be populated automatically with current date if approval required by tenant configuration

  • Date ordered

Status
subtletrue
colourGreen
titleclosed

How is this value determined? By when the order is opened? Must it be supplied, or will it default if not supplied?

Question for Thunderjet

SN: Yes, it is set when order is opened, the default value will be supplied as current date/time 

Link to code

  • Product ID and Qualifier

Status
subtletrue
colourBlueGreen
titleOpenCLOSED

What to do if qualifier in same field as number, e.g. 020$a12345678 (paperback)? Does DI need logic to break apart or can Orders app do it?

Question for Thunderjet

According to acquisition data model productId and qualifier live in different places, so it needs to be splitted before making order request

https://github.com/folio-org/acq-models/blob/de612d54f94bca8eab6c637f7a7dcb67916b4ba7/mod-orders-storage/schemas/product_identifier.json

  • Product identifier type

Status
subtletrue
colourGreen
titleclosed

This is a subset of a tenant's https://folio-snapshot.dev.folio.org/settings/inventory/identifierTypes. How do we know which ones to show in the dropdown list?

Question for Thunderjet

SN: In Orders UI For displaying product identifier types we use this query:

/identifier-types?limit=1000&query=cql.allRecords%3D1%20sortby%20name

So we use all available identifier types

  • Order format

Status
subtletrue
colourGreen
titleclosed

Where does this list of reference values come from?

Question for Thunderjet

SN: It is fetched from acq-models github repository.

Allowed values:

"Electronic Resource",
"P/E Mix",
"Physical Resource",
"Other"

Link to code

  • POL Created on

Status
subtletrue
colourGreen
titleclosed

What data should be supplied - current date/time? Will it default if not supplied?

Question for Thunderjet

SN: It is set automatically by RMB when Verticle receives request. So it is populated by server, should not be populated by the client. Example of metadata payload when creating order with populated by RMB data. 

  • Receipt status

Status
subtletrue
colourGreen
titleclosed

Where does this list of reference values come from?

Question for Thunderjet

SN: It is fetched from acq-models github repository.

Allowed values:

"Awaiting Receipt",
"Cancelled",
"Fully Received",
"Partially Received",
"Pending",
"Receipt Not Required",
"Ongoing"

Link to code

NOTE from A-M: will only display Pending and Receipt not required, since those are the only permitted values when an order is created
  • Payment status

Status
subtletrue
colourGreen
titleclosed

Where does this list of reference values come from?

Question for Thunderjet

SN: It is fetched from acq-models github repository.

Allowed values:

"Awaiting Payment",
"Cancelled",
"Fully Paid",
"Partially Paid",
"Payment Not Required",
"Pending",
"Ongoing"

Link to code

NOTE from A-M: will only display Pending and Payment not required, since those are the only permitted values when an order is created

  • Receiving workflow

Status
subtletrue
colourBlueGreen
titleOpenCLOSED

Where does this list of reference values come from?

Question for Thunderjet

Based on value of poline.checkinItems

Synchroniz

Synchronized = false
Independent = trued = false
Independent = true
  • Vendor reference number type

Status
subtletrue
colourBlueGreen
titleOpenCLOSED

Where does this list of reference values come from?

Question for Thunderjet

https://github.com/folio-org/acq-models/blob/de612d54f94bca8eab6c637f7a7dcb67916b4ba7/common/schemas/reference_number_item.json
  • Account number


Status
subtletrue
colourBlueGreen
titleOpenCLOSED
  1. How to get the list of account numbers to use for a dropdown list for a particular vendor?
  2. If the library transcribed an account number from an incoming record, as long as it matches an account number associated with the selected vendor, would that be acceptable? 
  3. If there are no account numbers associated with a vendor, but an account number is supplied for the POL, will that trigger an error in the POL?

Question for Thunderjet

  1. account numbers are part of organization records https://github.com/folio-org/acq-models/blob/de612d54f94bca8eab6c637f7a7dcb67916b4ba7/mod-orgs/examples/organization_get.sample#L152
  2. -
  3. There is no validation of account numbers. The order can be created with not existing account number, but this can cause issues in future. For example in edifact export flow
  • Currency

Status
subtletrue
colourBlueGreen
titleOpenCLOSED

Does case matter for the supplied value? (e.g USD vs usd vs Usd)

Question for Thunderjet

Yes, uppercase is mandatory

  • Fund/expense class

Status
subtletrue
colourYellow
titledeferred

For fund/expense class data, do we have to support fund:expense class from the beginning? Per the SMEs probably not. What do the developers think? OK to leave for POST-NOLANA? We will need to define field mapping syntax to allow for either format

Question for Thunderjet and Folijet

OK to wait until refinement feature per Folijet

  • Material supplier

Status
subtletrue
colourGreen
titleclosedCLOSED

Is there an endpoint where DI could do a lookup based on the vendor name or code? (an exact match on one or the other)

Question for Thunderjet

SN: We can use CQL language to filter organizations/vendors by code for example like this:

/organizations/organizations?query=(((code=AMAZ*)))

NOTE FROM A-M: Should be an exact match for the code, NOT a "begins" search, but case-insensitive, if possible

  • Create inventory

Status
subtletrue
colourGreen
titleclosed

  1. Where does this list of reference values come from?
  2. Pay attention to this setting, or use the job profile sequencing instead?

Thunderjet and Folijet

Pay attention to this setting, since the Orders app will use it to create/link various inventory record types when the PO is opened

SN: It is fetched from acq-models github repository.

Allowed values:

"Instance, holding, item",
"Instance, holdings",
"Instance",
"None"

Link to code

  • Access provider

Status
subtletrue
colourGreen
titleclosed

Is there an endpoint where DI could do a lookup based on the vendor name or code? (an exact match on one or the other)

Question for Thunderjet

SN: We can use CQL language to filter organizations/vendors by code for example like this:

/organizations/organizations?query=(((code=AMAZ*)))

NOTE FROM A-M: Should be an exact match for the code, NOT a "begins" search, but case-insensitive, if possible





















...