This web service will expose a POST method that Kuali Build applications can call to transmit completed KB documents into OnBase, UH's document imaging system.
Business Process Flow
Business Process Steps
...
- exportPdf()
- KB will post the unique document ID to the service for a callback to KB
Internal Methods
- getPDF()
- callback to KB using the document ID to export the PDF from KB
- What about attachments on the Kuali document? Can these be exported along with the document?
- Use GraphQL API to pull the PDF from KB
- Testing against any of our environments can be done against
/app/api/v0/graphiql.
It loads up a playground against our KB data to help figure out how to write the queries. Currently, all documentation lives in the GraphQL playground (schema and docs tab), but more user-friendly docs (see draft) are forthcoming.- Sandbox playground https://hawaii-sbx.kualibuild.com/app/api/v0/graphiql
- PROD playground https://hawaii.kualibuild.com/app/api/v0/graphiql
- Testing against any of our environments can be done against
- generateIndexFile()
- index file specifications
- <keywords>, <OnBase document type>, <filename - must match the name of the PDF pulled from KB>keywords+ | OnBase document type | PDF filename
- additional notes
each index file will have the naming convention kuali-build-grad-division-index-yyyymmddmmss.txt
each filename will have a distinct naming convention kuali-build-grad-division-doc-yyyymmddmmss.pdf
This will allow all the pairings (of index and PDF) to get saved in the same directory
On the OnBase side, they'd search for something like kuali-build-grad-division-index*.txt
- Our service will create 1 entry per index file even though OnBase supports multiple records per index file.
- sample index file
- UH# | LASTNAME | FIRSTNAME | MIDDLEINITIAL | SERVICEYEARS | SHIPNAME | KUALIBUILD APP ID | KUALIBUILD DOC ID | DOCUMENTTYPE | FILENAME
- index file specifications
- transfer
- sftp the PDF and the index file to sftp.hawaii.eduthe SFTP Server
SFTP Server
This is a temporary holding spot where the PDFs and index files live until OnBase can stage them on it's DIP server.
...
OnBase
OnBase will periodically
- pull files from the sftp server
- delete the files form the sftp server
...
- stage them on
...
- the DIP processing server
...
- ingest the PDF into OnBase.
Considerations
Admins need to be able to pull a document from Kuali Build adhoc in the event the POST in Kuali Build fails. There currently isn't a way to re-execute that step through the Kuali Build GUI so we'll need a way to do it.
- build an application in KB to trigger the adhoc process
Do we need a database for this web service?
- we need to map the Kuali Build application with the corresponding OnBase document type
Frequency of running the OnBase transfer job from the sftp server
- daily? hourly?
- how many documents on average will be transferred
- Cameron Ahana create Kuali Build form to rerun the Kuali to OnBase integration; need the appID and documentID
- Cameron Ahana add my kuali_build_sync api key to lastpass
- Cameron Ahana learn how to create POST integration in KB to this API