Sorry about all the words, but.....
In all the imports I have done BESIDEs Tests, the system works like this:
I submit the file
If/When there are problems:
it is marked as "Failed"
the file is preserved as it was submitted with one or two columns prepended, indicating the status ("passed" or "failed") and error for those rows that failed.
the entire transaction is rolled back [i.e. NO imports are done if there are any errors]
The natural way to debug the situation is to look at the file from step 2.b, fix the errors, remove the prepended columns, and resubmit it.
Test imports, however, don't behave this way. They differ as follows:
It does not roll back the entire transaction like every other import. [It imports the valid rows and does nothing with the error rows]
Instead of giving us back the file as it was submitted, it creates an exception file that contains only those rows that failed, along with the reasons. [why is this different from other imports??]
Also, unlike step 2 above, the file that is created is incomplete! It has some, but not all of the originally submitted columns. So doing step 3 above can be very dangerous:
Consider importing 1,000+ tests, all with "print on transcript" set to 'Yes'. [the default]. Let's say 300 of them fail for one reason or another. If we open the exception file, we would see the 300 failed records and the reason they failed in the status columns. What is not included in the exception file are the values for "print on transcript". So if we clean up and submit the exception file, we would load 300 tests that have "print on transcript" set to NO.
It's also hard to say how many other columns would be omitted from the exception file.
BB claims that the exception file is only there to uniquely identify the users that were addressed for each row. They told me it is up to the user to then go and find the failed rows in our original file, adjust the original file, and resubmit that amended version of the original file.
Why should this behave so differently from all the other imports? And why would they make step #3 above impossible, greatly complicating the import process?
Consistency is very important in large systems like this. I find it very difficult to remember all the quirks like this.
Further inconsistencies:
There is no View File Layout Help as with all others, so it's not clear what's required and what is not
If you don't specify things like "print on transcript", it defaults to "NO", which is not what happens when you create one with the user interface
It has that preview screen, while pretty, is not very useful if you're importing several hundred tests.
Please fix it.