Hello,
We're working on an integration involving sending documents and the metadata we want to assign to those documents to a Cloud repository. We have the ability to put a QR code on these documents that contains all the metadata we would want, with the caveat that the resulting token from the QR code is tab delimited with 1 "line" of headers and 1 "line" containing the actual metadata we would want. I feel like I've done this before, but I'm having trouble coming up with a way to separate these tokens out into their individual pieces so we can assign them to Laserfiche field values.
The plan here is to automate the assigning of field values on these documents by using the "Read Barcode" activity in Cloud Workflow. We may try putting the data in the name of the document, with a special character separating each piece and parsing that out with a regular expression. But this was one of our potential methods with the "Read PDF Metadata" activity not being in Cloud Workflow yet.
Question
Question
Best way to work with a tab delimited token in Cloud Workflow?
Replies
Probably pattern matching. You can have the activity spit out a multi-value token of matches, then (since you know the order of the data) assign it to metadata fields.
This makes sense. I was trying to loop through each part of the token and dynamically create a token for each header but I couldn't get that to work and it wasn't practical anyway since we won't actually have 53 pieces of data like in the sample I posted - it'll be more like 5 or 6. Still working on the regex that will return a multi-value token with those 5 or 6 values, but like you said, since we'll know the order in which the data appears, I'm guessing we'll be able to assign each piece to a field value by applying an index to that multi-value token.
commodity date driver factors.factor01.grade factors.factor01.label factors.factor02.grade factors.factor02.label factors.factor03.grade factors.factor03.label factors.factor04.grade factors.factor04.label factors.factor05.grade factors.factor05.label factors.factor06.grade factors.factor06.label factors.factor07.grade factors.factor07.label factors.factor08.grade factors.factor08.label factors.factor09.grade factors.factor09.label factors.factor10.grade factors.factor10.label factors.factor11.grade factors.factor11.label factors.factor12.grade factors.factor12.label factors.factor13.grade factors.factor13.label factors.factor14.grade factors.factor14.label factors.factor15.grade factors.factor15.label factors.factor16.grade factors.factor16.label finalWeight.driverOn finalWeight.operator.name grossQuantity.label grossQuantity.value grossWeight.comment grossWeight.datetime grossWeight.label grossWeight.operator.initials grossWeight.unit grossWeight.value hauler.name location.description location.facilityPhone location.officeAddress location.officeAddress2 location.officePhone location.systemCode manualDisclaimer memo netQuantity.label netQuantity.value netWeight.label netWeight.value number originality quantityUnit storageProfile.alias subject.ID subject.address1 subject.address2 subject.address3 subject.name tareWeight.comment tareWeight.datetime tareWeight.label tareWeight.operator.initials tareWeight.unit tareWeight.value title vehicle.axles vehicle.description vehicle.licensePlate Corn 07/24/2020 6026 13 MOISTURE 53.5 TEST WEIGHT 1.2 DAMAGE 0.5 F.M. MUSTY ODOR YES WEEVILS ON JOHN SMITH Gross bu 1092.67 LIVE 07/24/2020 02:03 PM Gross PO lb 97420 ABC TRUCKING Anytown 111-111-1111 123 Walnut Street Anywhere, IA 55555 555-555-5555 H 1236937712 Net 65560 13921 Original bu 0 123 TEST STREET TEST CITY, IA 55555 XYZ CORP RECALLED 07/24/2020 01:52 PM Tare PO lb 31860 INBOUND CORN
Here's an example of the token that the Read Barcode activity gives us. This is likely way more data than we would actually embed in the bar code, but we figure if we can make this do what we want, it'll only get simpler from here.