Hi Ben,
Just reading through the above having been away a few days.
I have a couple of general points which elaborate slightly to start with.
a. In John's initial comment he was assuming you had your own warehouse. The file and settings he was talking about will not exist in your Instant Indicia installation.
b. The confusion arose because Indicia is the whole thing and it was not clear that you meant Instant Indicia as opposed to the Indicia Warehouse.
c. The tutorial that you are working through is a little dated and Indicia is changing fast. Try substituting the Dynamic Sample with Occurrences from for the MNHNL (Musée national d'histoire naturelle Luxembourg) form that you are using. (No more French links)
d. You can't have been missing the iForm module if you had created a recording form.
Now, to your more specific problem, the following information is aimed at John. You don't need to try to understand it, Ben, suffice it to say that the problem may now be fixed.
Going back to the warehouse log of 2nd April I see the following associated with each instance of the bit of error message that Ben has been able to see
2013-05-02 17:25:25 +01:00 --- debug: Record did not validate
2013-05-02 17:25:25 +01:00 --- debug: Field general: There was an SQL error: ERROR: insert or update on table "samples" violates foreign key constraint "fk_sample_creator" DETAIL: Key (created_by_id)=(0) is not present in table "users".
Ben won't have enabled the Easy Login Module and I can see from the log that the warehouse is being passed a user_id that is an empty string as would be expected since data_entry_helper::forward_post_to sends
$postargs .= '&user_id='.hostsite_get_user_field('indicia_user_id');
and hostsite_get_user_field will have returned false that will convert to an empty string.
The recent change, r5628, checks to see if this value is set, which it is, albeit to an empty string, where previously a boolean test was used that would have evaluated to false. Since the outcome of the test has changed yet no value is assigned to the user id this leads to the error that Ben is seeing. This is all just code inspection on my part but, if my theory is correct, this means that no submissions to the warehouse from a non-logged in user on a Drupal site are currently possible.
Tried this on iRecord and found I could submit an anonymous record. Line 129 of application/controllers/service_base.php on warehouse1 reads
if (isset($_REQUEST['user_id']) && $_REQUEST['user_id'])
You must have been here already! This fixes the problem by reintroducing the boolean test but it has not been applied to testwarehouse (I just applied it) and it has not been committed to the repository (would you please).
Jim Bacon