You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After spending a few hours looking into this and trying to fix it up as-is, I've come to the conclusion that fixing this will require something of a re-write of the feature. The feature was converted to an AsyncController during GiveCamp, which turned out to be wrong in two ways:
AsyncControllers shouldn't be used to improve the user experience, which was my reasoning for doing it: I wanted to give the user quick feedback that their file was being imported. A file of ~1000 records takes a few seconds to import. Reading around the topic has indicated that AsyncControllers are a scalability feature only.
The conversion to an AsyncController was completed incorrectly during GiveCamp, and so it wasn't actually being called asynchronously as expected! This was rectified when the functionality was moved into GiveCRM itself, which is when the error messages stopped working.
The correct solution to improve the user experience appears to be to upload the spreadsheet via AJAX. This looks like a good jQuery plugin to use.
I don't think I'd burden IIS with long running tasks. Better to have it save the data somewhere for something else to pick up, although how we'd do that given we don't really know our hosting strategy yet is beyond me. Serialise raw data to DB I guess, in some sort of staging table that a totally separate process can then import properly. Row can also contain status of import too, so a standard non- async controller can just query for status. Ideally though each line in the file would be an msg for an ESB.
Reproduction steps
Expected
Actual
The text was updated successfully, but these errors were encountered: