You are viewing limited content. For full access, please sign in.

Question

Question

Lots of Import Agent files going into IAError folder - what is the cause?

asked on August 19, 2024

I have about 180 files from a shared folder on our network being imported via the ImportAgent to our repository; 123 of them went into the IAError folder for the Import Agent profile that I set up. I can open these files individually without any problems, and I can import them by dragging/dropping into the repository folder.  So, my question is, what would be causing this to happen if the files are not corrupted and they import fine when dragging/dropping?

Thanks!

0 0

Answer

SELECTED ANSWER
replied on August 21, 2024 Show version history

Yes, DCC is the Distributed Computing Cluster

When they added that functionality, they also added a workflow activity for "Schedule PDF Page Generation"

Schedule PDF Page Generation (laserfiche.com)

This will send the document to the DCC to generate pages, and you can configure callback workflows to run when it is complete.

A few things to note about the callbacks:

  1. The success callback returns the entry as the Starting Entry so it is easy to pick each document up and continue processing it.
  2. The error callback returns a list of values even if you only sent one document at a time, so you have to parse those results. To get those results you can add an "Errors" input parameter to the workflow handling the error callback.
  3. There is/was a bug in the Success callback that mixes up the server and repository in the connection profile; it still worked but generated warning messages. I added a fake connection profile as a workaround because it suppresses the warning without hurting anything.

 

Example: Parsing the Error response using the Read JSON activity (the Errors token is added as an Input parameter for the workflow)

Example: Workaround to suppress connection profile warnings on Success callback where I created a fake connection profile with the Server and Repository values swapped (password doesn't matter since it's not actually used).

Basically, just look at your real connection profile and swap the server and repository values; they are dropdowns, but you can still click them and edit them as free form fields.

 

1 0

Replies

replied on August 19, 2024 Show version history

Check the Windows Event Viewer on the Import Agent server; it will log more detail about those errors.

Event Viewer > Applications and Services > Laserfiche > ImportAgent > Service > Admin

0 0
replied on August 20, 2024

Hi Jason,

The message in Event Viewer seems to indicate there's something wrong with the PDF format.

 

There was an error running the profile Import HR I9 docs while importing the file "D:\ImportAgent\HR Scanning\Manual\I9\622710_I-9.pdf". (Parameter is not valid.)
 
Error Code: 
 
StackTrace:    at System.Drawing.Graphics.MultiplyTransform(Matrix matrix, MatrixOrder order)
   at ..( )
   at ..(Graphics , Double , Double , Double , Double )
   at ..(Graphics , PDFPrintContent , Boolean , Boolean , Double )
   at O2S.Components.PDFRender4NET.PDFFile.(Int32 , Graphics , Double , Double , Boolean , PDFPrintContent , Boolean , Boolean , Double )
   at O2S.Components.PDFRender4NET.PDFFile.(Int32 , Double , PDFPrintContent , Boolean , Double , Int32 )
   at Laserfiche.PdfServices.PdfExtractor.ImportPDFPageImage(PDFFile file, DocumentInfo doc, Int32 nPageIndex, Int32& height)
   at Laserfiche.PdfServices.PdfExtractor.ImportPDFPagesFromStream(Stream pdfStream, DocumentInfo doc)
   at Laserfiche.PdfServices.PdfExtractor.ImportPDFStream(Stream pdfStream, DocumentInfo doc, DateTime dtLastModified)
   at Laserfiche.PdfServices.PdfExtractor.ImportPDFFile(String strPDFFile, DocumentInfo doc)
   at Laserfiche.ImportAgent.Service.ExecuteProfileFile.ImportPDFFile(ExecutionContext context, DocumentInfo LFDoc, LongFileInfo fi, Profile profile)
   at Laserfiche.ImportAgent.Service.ExecuteProfileElectFile.ImportFile(ExecutionContext context)
   at Laserfiche.ImportAgent.Service.ExecuteProfileFile.Execute(ExecutionContext context)

0 0
replied on August 21, 2024

I think this has to do with the federal I-9 form...Import Agent doesn't like them for some reason. I went ahead and just imported them manually.

0 0
replied on August 21, 2024 Show version history

It could be an issue with the PDF format/encoding, especially if the PDF is fillable. The PDFRender4Net library struggles with some things like that.

If you're self-hosted and have access to DCC, I would consider switching over to use the DCC to generate pages after import.

The DCC page generation uses a different library and is much more reliable (i.e., we've had effectively zero issues with page generation since switching).

We disabled page generation for most imports and instead generate pages with a workflow process after they are in the repository.

0 0
replied on August 21, 2024

Is DCC the Distributed Computing Cluster? I don't believe we have that set up...if we do set it up, how do we tell it to generate pages after import? 

0 0
SELECTED ANSWER
replied on August 21, 2024 Show version history

Yes, DCC is the Distributed Computing Cluster

When they added that functionality, they also added a workflow activity for "Schedule PDF Page Generation"

Schedule PDF Page Generation (laserfiche.com)

This will send the document to the DCC to generate pages, and you can configure callback workflows to run when it is complete.

A few things to note about the callbacks:

  1. The success callback returns the entry as the Starting Entry so it is easy to pick each document up and continue processing it.
  2. The error callback returns a list of values even if you only sent one document at a time, so you have to parse those results. To get those results you can add an "Errors" input parameter to the workflow handling the error callback.
  3. There is/was a bug in the Success callback that mixes up the server and repository in the connection profile; it still worked but generated warning messages. I added a fake connection profile as a workaround because it suppresses the warning without hurting anything.

 

Example: Parsing the Error response using the Read JSON activity (the Errors token is added as an Input parameter for the workflow)

Example: Workaround to suppress connection profile warnings on Success callback where I created a fake connection profile with the Server and Repository values swapped (password doesn't matter since it's not actually used).

Basically, just look at your real connection profile and swap the server and repository values; they are dropdowns, but you can still click them and edit them as free form fields.

 

1 0
replied on August 21, 2024

Thanks for the great info Jason! If/when we get DCC set up I will circle back to this.

0 0
You are not allowed to follow up in this post.

Sign in to reply to this post.