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
Kuali Build
When a document that OnBase cares about is completed, the last step in the workflow will be an integration to this web service.
KB to OB Web Service
Exposed API
- 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 | 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 the 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.
sftp.test.hawaii.edu (access dev, tst, qa below using the kualibld departmental account located in LastPass) and sftp.hawaii.edu (account and folders not created yet)
for Dev:
cd /dev/kualibld/
for Tst:
cd /tst/kualibld/
for QA:
cd /qa/kualibld/
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